VBS Заменить символы из имен файлов всех файлов в папке и подпапках
Мне нужно изменить множество имен файлов, избавиться от специальных символов (например, - но лучше, если бы он мог быть адаптирован для списка значений вместо одного за раз). Я не опытный VBS, но уже нашел некоторый код и попытался сделать его математическим мои потребности, но все равно он не работает.
Этот код изменяет файлы в указанной папке "C:\Users\user\Desktop\test", но не файлы в подпапках после этого пути.
Set objFso = CreateObject("Scripting.FileSystemObject")
Set Folder = objFso.GetFolder("C:\Users\user\Desktop\test")
For Each Subfolder in Folder.SubFolders
For Each File In Folder.Files
sNewFile = File.Name
sNewFile = Replace(sNewFile,"ç","+")
if (sNewFile<>File.Name) then
File.Move(File.ParentFolder+"\"+sNewFile)
end if
Next
Next
Любая помощь, пожалуйста?
1 ответ
Вы не используете Subfolder
элемент в вашей петле.
Альтернативное рекурсивное решение ниже:
Set objFso = CreateObject("Scripting.FileSystemObject")
Browsefolder objFso.GetFolder("C:\Users\user\Desktop\test")
Sub Browsefolder(Folder)
For Each Subfolder In Folder.Subfolders
Browsefolder Subfolder
Next
For Each File In Folder.Files
sNewFile = File.Name
sNewFile = Replace(sNewFile, "ç", "+")
If (sNewFile <> File.Name) Then
File.Move (File.ParentFolder & "\" & sNewFile)
End If
Next
End Sub