Чтобы ответить на вопрос, который был написан в ответ ...
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
Подменю MoveFile
действует как обычный ход, то есть копирует файл, а затем удаляет источник в случае успеха. Лучше, чем использовать встроенную функцию fso.MoveFile, поскольку она не обрабатывает перезапись существующих файлов.
Подводя итог ... на каждую подпапку в текущем каталоге, смотрите, существует ли подпапка \ big. Если это так, то эхо-текст, иначе создайте папку и текст эха. Затем для каждого файла в этой подпапке переместите его в папку подкаталога \ большую папку, перезапишив существующие файлы и удалив исходный файл, если копия прошла успешно. Вы можете добавить материал, чтобы проверить расширение перед тем, как переместить (чтобы ориентироваться только на определенные типы файлов), или выйти из подкаталога, если файл уже существует (чтобы не перезаписывать существующие файлы).
Ваш вопрос не является вопросом. :) Есть ли конкретная проблема, с которой вы сталкиваетесь? – Bond
Спасибо, что напомнили мне! Я редактировал, ты можешь мне помочь? –
Как вы определяете папки, в которых вы хотите создать новую подпапку? Где находятся все файлы jpg, прежде чем вы их перемещаете? –