vbscript - subdirectorios - Quiero crear una carpeta en varias carpetas disponibles
crear carpeta ubuntu comandos (1)
Quiero crear una carpeta en varias carpetas disponibles (por VBScript)
Ejemplo:
Tengo varias carpetas: abc, xyz, ijk ... etc.
- Quiero crear una carpeta como "ABC" en todas las carpetas abc, xyz, tyu, ijk..etc
- A continuación, mueva todos los archivos "jpg" en cada carpeta abc, xyz, tyu, ijk .. a la carpeta "ABC" de cada carpeta que acaba de crear
- Compruebe cada carpeta y vea si la carpeta "ABC" o no, vacía o no
strFolder = "/" ''<== This place how to automatically create a folder "ABC"
'' in the directory available
SET objFSO = CREATEOBJECT("Scripting.FileSystemObject")
''Move file jpg ''<== I do not get it
IF objFSO.FolderExists(strFolder) = FALSE THEN
objFSO.CreateFolder strFolder
wscript.echo "Folder Created"
ELSE
wscript.echo "Folder already exists"
END IF
Para responder la pregunta que fue escrita como una respuesta ...
Dim fso, shl, curdir, folder, file, newfoldername, newfolderpath
Set fso = CreateObject("Scripting.FileSystemObject")
Set shl = CreateObject("WScript.Shell")
curdir = shl.CurrentDirectory
newfoldername = "big"
For Each folder In fso.GetFolder(curdir).Subfolders
newfolderpath = fso.BuildPath(folder.Path, newfoldername)
If Not fso.FolderExists(newfolderpath) Then
fso.CreateFolder newfolderpath
WScript.Echo newfolderpath & " created"
Else
WScript.Echo newfolderpath & " already exists"
End If
For Each file In folder.Files
MoveFile file.Path, newfolderpath
Next
Next
Sub MoveFile(source, destination)
On Error Resume Next
fso.CopyFile source, destination & "/", True '' true = overwrite
If Err Then
WScript.Echo "Error copying " & source & " to " & destination & ": " & Err.Description
WScript.Quit
Else
fso.DeleteFile source, True
End If
On Error GoTo 0
End Sub
El MoveFile
actúa como un movimiento regular, es decir, copia el archivo y luego elimina la fuente si tiene éxito. Es mejor que usar la función fso.MoveFile incorporada, ya que esa no maneja la sobreescritura de archivos existentes.
En resumen ... en cada subcarpeta en el directorio actual, vea si existe la subcarpeta / big. Si es así, repita el texto, de lo contrario cree una carpeta y repita el texto. Luego, para cada archivo en esa subcarpeta, muévala a la subcarpeta / carpeta grande, sobrescribiendo los archivos existentes, y elimine el archivo fuente si la copia fue exitosa. Puede agregar cosas para verificar la extensión antes de moverla (para apuntar solo a ciertos tipos de archivos), o salir de sub si el archivo ya existe (para no sobrescribir los archivos existentes).