una subdirectorios por para directorios crear consola como comandos comando carpeta archivos arbol vbscript folders

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).