web-dev-qa-db-fra.com

Créez un répertoire et copiez un fichier

Dans VBS, comment créez-vous un répertoire, puis copiez-y un fichier?

Je voudrais créer un dossier à la racine de C, par exemple C:\dossier, puis copiez un fichier de\server\folder\file.ext dans ce nouveau dossier

15
Arcath

Utilisez l'objet FileSystemObject , à savoir ses méthodes CreateFolder et CopyFile . En gros, voici à quoi ressemblera votre script:

Dim oFSO
Set oFSO = CreateObject("Scripting.FileSystemObject")

' Create a new folder
oFSO.CreateFolder "C:\MyFolder"

' Copy a file into the new folder
' Note that the destination folder path must end with a path separator (\)
oFSO.CopyFile "\\server\folder\file.ext", "C:\MyFolder\"

Vous pouvez également ajouter une logique supplémentaire, comme vérifier si le dossier que vous souhaitez créer existe déjà (car CreateFolder soulève une erreur dans ce cas) ou spécifier si vous souhaitez ou non écraser le fichier copié. Donc, vous pouvez vous retrouver avec ceci:

Const strFolder = "C:\MyFolder\", strFile = "\\server\folder\file.ext"
Const Overwrite = True
Dim oFSO

Set oFSO = CreateObject("Scripting.FileSystemObject")

If Not oFSO.FolderExists(strFolder) Then
  oFSO.CreateFolder strFolder
End If

oFSO.CopyFile strFile, strFolder, Overwrite
34
Helen

Vous pouvez utiliser le Shell à cet effet.

Set shl = CreateObject("WScript.Shell") 
shl.Run "cmd mkdir YourDir" & copy "
1
Răducu's Computer