Почему эта команда REN возвращает «Неверный синтаксис команды»?
У меня есть несколько файлов в папке, например:
- Happysong.m4a.mp3
- Грустная песня ft. HERm4a.mp3
Я хочу переименовать их в:
- Счастливая песня.mp3
- Грустная песня ft. HERmp3
Вот мой код для
test.bat
файл, который находится в той же папке:
for /f "delims=" %%a in ('dir /b /a-d *.m4a.mp3') do (
set "oldName=%%~a"
set "newName=%oldName:.m4a=%"
ren %%a "%newName%"
)
Он возвращается
The syntax of the command is incorrect.
Я пытался:
for /f "delims=" %%a in ('dir /b /a-d *.m4a.mp3') do (
set "oldName=%%~a"
set "newName=%oldName:.m4a=%"
ren %%a %newName%
)
который возвращает
ft. was unexpected at this time.
Что я здесь делаю неправильно?
1 ответ
Вероятно, вы могли бы сделать это из cmd :
For %G In (*.m4a.mp3) Do @For %H In ("%~nG") Do @Ren "%G" "%~nH%~xG"
Или вот так из командного файла :
@For %%G In (*.m4a.mp3) Do @For %%H In ("%%~nG") Do @Ren "%%G" "%%~nH%%~xG"