2017-08-13 3 views
0

Je tringing à copier des fichiers settings.copy de sourceDir à backupdir mais obtenir erreurfichier copie au répertoire dans vb.net visual basic

Dim sourceDir As String = "c: \ in \ settings.copy"

Dim backupdir As String = "c: \ out \"

File.Copy (sourceDir, backupdir)

lors de l'exécution de script ci-dessus se erreur ci-dessous

System.IO.DirectoryNotFoundException: 'Impossible de trouver une partie du chemin' c: \ out \ '.'

ont déjà été créées c: \ out \ dossier

+0

La méthode 'File.copy' doit spécifier le fichier de destination, pas le répertoire de destination. – Karuntos

+0

Merci j'ai compris –

Répondre

0

Dim userprofile As String = Environment.GetFolderPath (Environment.SpecialFolder.UserProfile)

Dim SystemDir As String = Environment.GetEnvironmentVariable ("SystemDrive")

Dim sourceDir As String = « y \ entrant \ settings.exe »

Dim backupdir As String = "AppData \ local \ user \ default_user \"

racine Dim As String = Path.GetPathRoot (userprofile)

Dim useDrpath As String = Path.Combine (userprofile, backupdir)

Dim SysDrpath As String = Path.Combine (SystemDir, racine, sourceDir)

fichier Dim = New FileInfo ("settings.cps")

file.CopyTo (Path.Combine (SysDrpath, useDrpath, file.Name), True)

Mon Gole est de copier le fichier du pilote installé du système à profil de l'utilisateur pilote

avec le code ci-dessus je suis en mesure de copier le fichier

c: \ y \ entrant \ settings.exe C: \ Users \ pavane \ AppData \ user \ Local \ default_user \

s'il vous plaît suggéré tout autre meilleure façon de faire ci-dessus

1

Avez-vous lu la documentation File.Copy, ou même prêté attention à IntelliSense? Les deux arguments doivent être des chemins de fichier. Aucun des deux ne peut être un chemin de dossier. Sur une note connexe, pourquoi avez-vous une variable appelée 'sourceDir' lorsqu'il s'agit clairement d'un chemin de fichier et non d'un chemin de répertoire? Si vous nommez les choses clairement - et en particulier pas de façon trompeuse - alors il est plus probable que vous éviterez de telles erreurs. Bien sûr, en utilisant le menu Aide ou la touche F1 pour confirmer que vous utilisez un type de méthode correctement aiderait aussi.