Que tal:
dim objFSO : set objFSO = CreateObject("Scripting.FileSystemObject")
dim objFolder : Set objFolder = objFSO.GetFolder(".")
For Each File In objFolder.Files
if instr(File.Name, "_") > 0 then
objFSO.MoveFile File.Name, "PREFIX-" & replace(File.Name, "_", " ")
end if
Next
Para cada arquivo no mesmo diretório que o script, ele verificará se o nome do arquivo tem um sublinhado: Se sim, ele renomeará esse arquivo para ter uma string "PREFIX-" e substituirá o sublinhado por um espaço. / p>
Pode valer a pena comentar a linha MoveFile e criar uma nova linha com:
wscript.echo "Renaming: " & File.Name & " to: PREFIX-" & replace(File.Name, "_", " ")
Por exemplo,
dim objFSO : set objFSO = CreateObject("Scripting.FileSystemObject")
dim objFolder : Set objFolder = objFSO.GetFolder(".")
For Each File In objFolder.Files
if instr(File.Name, "_") > 0 then
'objFSO.MoveFile File.Name, "PREFIX-" & replace(File.Name, "_", " ")
wscript.echo "Renaming: " & File.Name & " to: PREFIX-" & replace(File.Name, "_", " ")
end if
Next
Isso mostrará o que ele fará se você executar:
cscript script.vbs > out.txt