2009-12-10 12 views
11

En VBS, ¿cómo se hace un directorio y luego se copia un archivo en él?Hacer un directorio y copiar un archivo

Me gustaría crear una carpeta en la raíz de C, por ejemplo. C: \ carpeta y luego copiar un archivo de \ servidor \ carpeta \ file.ext en esa nueva carpeta

Respuesta

31

Uso del objeto FileSystemObject, a saber, sus métodos y CreateFolderCopyFile. Básicamente, esto es lo que el script se verá así:

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\" 

También es posible que desee agregar lógica adicional, como la comprobación de si existe la carpeta que desea crear ya (porque CreateFolder genera un error en este caso) o especificar si sobrescribir el archivo que se está copiando o no Por lo tanto, puede terminar con esto:

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 
1

Puede utilizar la carcasa para este fin.

Set shl = CreateObject("WScript.Shell") 
shl.Run "cmd mkdir YourDir" & copy " 
Cuestiones relacionadas