Я хочу заменить все символы подчеркивания (_
) с пространством () в имени файла.
Как я могу сделать это быстро, когда у меня есть много из _
символы для замены?
vbScript должен сделать это для Вас. Создайте файл, названный "rename_underscores.vbs", содержащим следующее.
Set objFso = CreateObject("Scripting.FileSystemObject")
Set Folder = objFSO.GetFolder("c:\test\")
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
Удостоверьтесь, что имя папки корректно. (В примере я использовал c:\test), И затем дважды щелкните по своему файлу, чтобы сделать переименование.
Я рекомендую использовать сторонний инструмент как Объем, Переименовывают Утилиту. Это свободно, и это имеет установщик меньше чем 1 МБ.
Это в областях bat-файла DOS. Создайте bat-файл (Новый-> Текстовый файл, переименуйте расширение .bat), затем копируют синие разделы ниже в него.
Я разделю его на разделы и объясню, что это делает.
Распечатайте текущее состояние каталога для comparasson позже
dir /b
Перечислите файлы в каталоге, затем для всего те, которые содержат подчеркивание и конец в .txt, называют ProcessFile на них.
for %%f in (*_*.txt) do call :ProcessFile %%f
goto :finished
Синтаксис "ул. = % str:x=y %" заменяет экземпляры x с y. В этом случае мы ничем заменяем "_"
:ProcessFile
set str=%1
rename %1 %str:_=%
goto :eof
Именно!
Теперь это просто печатает то, что было изменено так, мы можем подтвердить, что это работает как ожидалось;
:finished
echo ----
dir /b
Результаты (Не часть bat-файла)
baz_ing.txt
big_rawr.foo
foo_bar.txt
multiple_underscores_test.txt
----
bazing.txt
big_rawr.foo
foobar.txt
multipleunderscorestest.txt
Инструмент переименования на базе Windows, самое мощное там, и это свободно. http://www3.telus.net/pfrank/