DIR /AD /B "My Documents" /S
para listar as pastas
Digamos que eu tenha uma árvore de pastas como:
C:\Users\Test\My Documents
C:\Users\Test2
C:\Users\Test3\My Documents
Qual comando posso executar para pesquisar em C:\Users
para verificar quais subpastas têm uma pasta My Documents
?
Então, para o acima, ele retornaria com:
C:\Users\Test\My Documents
C:\Users\Test3\My Documents
Mas não
C:\Users\Test2
Além disso, se eu quisesse renomear scripts de quaisquer subpastas que fossem chamadas de My Documents
e renomeá-las para apenas Documents
, como eu poderia conseguir isso?
Aqui está um vbscript que também renomeia as pastas para você:
Root = INPUTBOX("Please enter the root folder (all subfolders will be renamed)" & vbcrlf & "e.g. C:\TEST")
IF Root="" THEN Canceled
FindStr = INPUTBOX("Please enter the string that you want to find")
IF FindStr = "" THEN Canceled
ReplaceStr = INPUTBOX("Please enter the string that you want to replace it with")
IF ReplaceStr = "" THEN Canceled
SET objFSO= CREATEOBJECT("Scripting.FileSystemObject")
EnumFolders Root
SUB EnumFolders(BYVAL Folder)
SET objFolder = objFSO.GetFolder(Folder)
SET colSubfolders = objFolder.Subfolders
FOR EACH objSubfolder in colSubfolders
NewFolderName = (REPLACE(objSubfolder.name, findstr, replacestr))
IF NewFolderName <> objSubFolder.Name THEN
objSubFolder.Name = NewFolderName
END IF
enumfolders objSubfolder.path
NEXT
END SUB
SUB Canceled
wscript.echo "Script Canceled"
wscript.quit
END SUB
Fonte: link
PS: Eu não testei isso. Por favor, teste primeiro com uma estrutura de diretórios vazia.