Copie de fichiers (VBScript)

Le script suivant copie le fichier C:\test.txt vers C:\test2.txt


Code VisualBASIC ou VBA ou VBS (script vbs : copie un fichier) (7 lignes) :
  1. Set objFSO = CreateObject("Scripting.FileSystemObject")
  2. If objFSO.FileExists("C:\test.txt") Then
  3.   objFSO.CopyFile "C:\test.txt" , "C:\test2.txt"
  4. Else
  5.   MsgBox "Fichier C:\test.txt introuvable", vbExclamation
  6. End If
  7. Set objFSO = Nothing

Procédure pas à pas

Nous devons d'abord créer une instance de l'objet Scripting.FileSystemObject, et l'assigner à objFSO (nom que nous déterminons à notre guise).

Set objFSO = CreateObject("Scripting.FileSystemObject")

Nous devons tester si le script peut trouver le fichier à l'adresse indiquée.

If objFSO.FileExists("C:\test.txt") Then

Nous pouvons aussi tester de cette manière :

If Not objFSO.FileExists("C:\test.txt") Then

Dans ce cas, si le fichier n'est pas trouvé, nous pouvons effectuer certaines actions.

Dans le cas où le fichier est présent, nous le copions au même endroit en le renommant test2.txt

objFSO.CopyFile "C:\test.txt" , "C:\test2.txt"

Nous pouvons à présent libérer l'objet objFSO.

Set objFSO = Nothing

Variantes: avec une fonction vbs

Ici, nous travaillons avec une fonction.

Les fichiers de source et de destination sont passés en argument, ce qui rend le code plus évolutif : vous pouvez par exemple faire un appel de cette fonction après avoir demandé à l'utilisateur quels sont les fichiers source et destination.

Nous pouvons aussi remarquer la déclaration de la constante OverwriteExisting, qui argumente ensuite objFSO.CopyFile pour déclarer que si le fichier de destination existe, il sera écrasé.

Nous pouvons réaliser un copier/coller du script dans un fichier texte dont nous aurons renommé l'extension en .vbs.
Nous remarquons que l'appel de la fonction se fait à la suite du code, et que les paramètres ne sont pas encadrés par des parenthèses.

  1. Function FileCp (strSourceFile, strTargetFile)
  2. Const OverwriteExisting = True
  3. Set objFSO = CreateObject("Scripting.FileSystemObject")
  4. If Not objFSO.FileExists(strSourceFile) Then
  5. MsgBox "Fichier " & strSourceFile & " introuvable", vbExclamation
  6. Exit Function
  7. End If
  8. objFSO.CopyFile strSourceFile , strTargetFile, OverwriteExisting
  9. Set objFSO = Nothing
  10. End Function
  11. FileCp "c:\test.txt", "c:\test2.txt"

 

Document créé le 11/06/2004, dernière modification le 26/10/2018
Source du document imprimé : https://www.gaudry.be/vbs-copie-fichier.html

L'infobrol est un site personnel dont le contenu n'engage que moi. Le texte est mis à disposition sous licence CreativeCommons(BY-NC-SA). Plus d'info sur les conditions d'utilisation et sur l'auteur.