Пакетное изменение заголовков файлов MKV в нескольких каталогах - PullRequest
0 голосов
/ 09 февраля 2019

Хорошо, я новичок в этом ... По сути, я использую инструментальный вызов mkvpropedit для редактирования заголовка моих файлов .mkv. Моя цель - создать пакет, который проходит через все подкаталоги, и заменить mkv.названия файлов с их именами.

Я достиг следующего прогресса ...

for %%A in (*.mkv) do "C:\mkvpropedit.exe" "%%A" --edit info --set title="%%A"

Проблема с [1]: работает нормально, но не влияет на все подкаталоги, и я бынеобходимо использовать пакет во всех подкаталогах один за другим, что будет занимать много времени.

for /R "C:\whatever" %%I in (*mkv) do "C:\whatever\mkvpropedit.exe" "%%I" --edit info --set title="%%I"

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

Может ли кто-нибудь помочь мне здесь?Заранее большое спасибо.

Кстати, если кто-нибудь знает, как задать длинный путь к каталогу в краткой форме, которую следует использовать в скрипте (например, "C: \ what \ what ... \ mkvpropeditexe intomkvpropedit ", это было бы полезно.

1 Ответ

0 голосов
/ 09 февраля 2019

Используете ли вы %%~nI или %%~nxI (в соответствии с предложением Герхарда Барнарда), зависит от того, как вы хотите заголовок: " n ame" или " n ame.е х натяжение ".

для how to set a long directory pathway into a short form to be use repeated throughout the script;установите переменную с полным путем \ именем и используйте переменную:

set "mkv=C:\whatever\mkvpropedit.exe"
for /R "C:\whatever" %%I in (*.mkv) do "%mkv%" "%%I" --edit info --set title="%%~nI"
...