1

У меня есть несколько файлов, и у каждого файла есть свое имя, но все они имеют одинаковое "-statement" в конце:

flower-statement.mp3
leave-statement.mp3 
ball-statement.mp3
goal-statement.mp3

Поэтому я хочу , чтобы удалить это: -statement

Это возможно?

1 ответ1

2

Почему вы не можете просто сделать это с помощью пакета без специальных программ? Из того, что я испытал, это будет делать именно то , что вы ищете, чтобы это сделать , что разобрать на -statement часть имени файла , а затем переименовать каждый без него оставляя другие части файла. Это будет хорошо работать для всех файлов .mp3 в определенной папке.

В моем примере ниже, где у меня есть C:\Users\User\Desktop\Test\*.mp3 просто поместите имя вашей папки в это место. Сохраните это в текстовый файл и переименуйте в batch.cmd или что-то в этом роде. Затем просто дважды щелкните по нему, чтобы запустить его, чтобы выполнить переименование файлов в этой папке, анализируя часть -statement .

Вы также можете сделать этот скрипт неявным для запуска каталога, в который вы его копируете, и просто используя *.mp3 оттуда, а не полный путь.

EXPLICIT SCRIPT (укажите каталог, в котором находятся * .mp3)

@ECHO ON

FOR %%A IN ("C:\Users\User\Desktop\Test\*.mp3") DO (
    CALL :RenameFiles "%%~A" "%%~NXA"
)
GOTO EOF

:RenameFiles
SET fname=%~2
SET renname=%fname:-statement=%
REN "%~1" "%renname%"
GOTO EOF

НЕЗАКОННЫЙ СКРИПТ (скопируйте и запустите из каталога, в котором находятся * .mp3)

@ECHO ON

FOR %%A IN ("*.mp3") DO (
    CALL :RenameFiles "%%~A" "%%~NXA"
)
GOTO EOF

:RenameFiles
SET fname=%~2
SET renname=%fname:-statement=%
REN "%~1" "%renname%"
GOTO EOF

ДОБАВИТЬ ЧТО-ТО В КОНЦЕ ПЕРЕМЕННОГО ФАЙЛА ПЕРЕД ДОПОЛНЕНИЕМ ИМЕНИ ФАЙЛА

(измените fpart и mp3path чтобы они соответствовали вашим потребностям. fpart - это то, что вам нужно добавить, а mp3path - это папка, в которой находятся файлы MP3 .)

ПРИМЕЧАНИЕ. Тем не менее предполагается, что файлы MP3 имеют -statement в имени файла для удаления.

EXCPLICIT SCRIPT (с символами разбора имени файла)

@ECHO ON

SET mp3path=C:\Users\User\Desktop\Test
SET fpart=_something

FOR /F %%A IN ('DIR /B "%mp3path%\*.mp3"') DO (
    CALL :RenameFiles "%%~FPA" "%%~NA" "%%~XA"
)
GOTO EOF

:RenameFiles
SET fname=%~2
SET ext=%~3
SET renname=%fname:-statement=%
REN "%~1" "%renname%%fpart%%ext%"
GOTO EOF

EXCPLICIT SCRIPT (без разбора просто добавьте символы имени файла)

@ECHO ON

SET mp3path=C:\Users\User\Desktop\Test
SET fpart=_something

FOR /F %%A IN ('DIR /B "%mp3path%\*.mp3"') DO (
    CALL :RenameFiles "%%~FPA" "%%~NA" "%%~XA"
)
GOTO EOF

:RenameFiles
SET fname=%~2
SET ext=%~3
REN "%~1" "%fname%%fpart%%ext%"
GOTO EOF

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