Существует ли способ обработать в пакетном режиме, переименовывают файлы к нижнему регистру?

Мне нужен способ переименовать все файлы в папках и подпапках к нижнему регистру.

Я хотел бы знать, существует ли способ сделать тот использующий только окна (XP или 7)

65
задан 10.02.2016, 17:54

5 ответов

http://www.dostips.com/DtCodeCmdLib.php#Function.toLower дает простую функцию, которую необходимо смочь включать и назвать от пакетного файла.

Поэтому имейте пакетный файл, выполняют итерации по папкам/именам файлов и вызывают эту функцию для генерации строчной версии имени.

1
ответ дан 07.12.2019, 08:15

Renamer spacetornado является Windows-программой, которая переименовывает массовые суммы файлов в пакетах. Можно искать и заменить текст, удалить определенное число символов, изменить случай, чтобы понизиться, верхний или First Letter Capital, и добавить, что текст к началу или концу (добавляет/предварительно ожидает) каждого имени файла

enter image description here

18
ответ дан 07.12.2019, 08:15

Из http://windowsitpro.com/articles/index.cfm?articleid=81612:

Только Используя стандартные команды, я написал сценарий LwrCase.bat и LwrCase_Folder.bat, чтобы переименовать имя файла к нижнему регистру или переименовать все имена файлов в папке к нижнему регистру.

Для переименования имени файла к нижнему регистру используйте:

[call] LwrCase FullyQualifiedFileName

Где FullyQualifiedFileName является полностью определенным именем файла, которое будет переименовано.

Для переименования всех имен файлов в каталоге используйте:

[call] LwrCase_Folder FullyQualifiedDirectoryName [/S]

где FullyQualifiedDirectoryName, полностью квалифицируют путь к папке, и/S является дополнительным параметром, который также переименует имена файлов во всех подпапках.

Примечание: LwrCase.bat использует/L переключатель команды DIR, которая возвращает имена нижнего регистра.

LwrCase.bat содержит:

@echo off
if {%1}=={} @echo Syntax: LwrCase FullyQualifiedFileName&goto :EOF
if not exist %1 @echo LwrCase - %1 NOT found.&goto :EOF
setlocal
for /f "Tokens=*" %%a in ('@echo %~a1') do (
 set file=%%a
)
if /i "%file:~0,1%" EQU "d" @echo LwrCase - %1 is NOT a file.&endlocal&goto :EOF
for /f "Tokens=*" %%f in ('dir %1 /L /b /a /a-d') do (
 Rename %1 "%%f"
)
endlocal

LwrCase_Folder.bat содержит:

@echo off
if {%1}=={} @echo Syntax: LwrCase_Folder FullyQualifiedDirectoryName&goto :EOF
if not exist %1 @echo LwrCase_Folder - %1 NOT found.&goto :EOF
setlocal
for /f "Tokens=*" %%a in ('@echo %~a1') do (
 set folder=%%a
)
if /i "%folder:~0,1%" NEQ "d" @echo LwrCase_Folder - %1 is NOT a folder.&endlocal&goto :EOF
pushd %1
set sw=/B /A /A-D
if /i {%2}=={/S} set sw=%sw% %2
for /f "Tokens=*" %%f in ('dir %sw%') do (
 call LwrCase "%%f"
)
popd
endlocal
1
ответ дан 07.12.2019, 08:15

Моей любимой переименовывающей пакетный файл утилитой является WildRename Cylog. Среди многих других функций это может изменить случай имен файлов. Лучшая вещь о WildRename состоит, вероятно в том, что это поддерживает регулярные выражения!

6
ответ дан 07.12.2019, 08:15

Лучшая программа для того, чтобы сделать это в Windows является Объемной, Переименовывают Утилиту. Это, укомплектовывает инструмент. Можно даже использовать regex для переименования файлов и/или папок. Это также имеет интеграцию оболочки (таким образом, можно выполниться из проводника щелчком правой кнопкой), который очень хорош. Доступные версии на 32 бита и на 64 бита.

1
ответ дан 07.12.2019, 08:15

Теги

Похожие вопросы