2

Я хочу переименовать группу файлов в определенной папке таким образом, чтобы все, включая скобки, было удалено.

Например, файл с именем:

"78 Tax Tips for Canadians for Dummies (ISBN - 0470676582)"

Я хочу переименовать его в:

"78 Tax Tips for Canadians for Dummies"

Мне нужно сделать это для всех файлов файлов в определенной папке для всех без исключения файлов, которые следуют этому же шаблону для символов имени файла:

Dummies (ISBN - .........)

Я попытался следовать и использовать логику пакетного сценария в этом посте, но не смог заставить это работать, чтобы число после части ISBN - ########## продолжало изменяться в соответствии с тем, как я это сделал неправильно.

1 ответ1

1

Пакетное переименование файла, убрать скобки и все символы между ними, но сохранить расширение

Сохраните всю логику из приведенного ниже примера в текстовый файл и назовите его something.cmd а затем просто выполните его. , ,

Примечания сценария

  • Если SET RenDir=C:\Path - это C:\Path , вам нужно указать полный путь к файлам, которые вы хотите переименовать.

  • Предположение с этой логикой сценария состоит в том, что в RenDir будут ТОЛЬКО файлы с круглой скобкой () , которые необходимо будет удалить с помощью шаблона типа (ISBN - .........) и никаких других частей этих Имена файлов будут содержать любые круглые скобки () .

Пример пакетной логики

@ECHO ON

SET RenDir=C:\Path

FOR /F "DELIMS=() TOKENS=1,3" %%F IN ('DIR /B /A-D "%RenDir%\*.*"') DO (
    CALL :RenameFiles "%%~F" "%%~G"
)
GOTO EOF

:RenameFiles
SET fname=%~1
SET Ext=%~2
REN "%RenDir%\%fname%*%ext%" "%fname%%ext%"
GOTO EOF

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .