Squeak.ru - шаблоны программирования

Пакетное изменение заголовков файлов mkv в нескольких каталогах

Хорошо, я новичок в этом ... В основном я использую инструмент 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:\whatever\whatever...\mkvpropeditexe в mkvpropedit», это было бы полезно.

09.02.2019

  • во втором сценарии. изменить %%I на %%~nxI% 09.02.2019
  • Команда FOR для обработки всех файлов *.mkv каталога и всех его подкаталогов: for /F "delims=" %%I in ('dir /A-D-H /B /S "Base Folder Path\*.mkv" 2^>nul') do. Я рекомендую сначала запустить эту команду из командной строки как for /F "delims=" %I in ('dir /A-D-H /B /S "Base Folder Path\*.mkv" 2^>nul') do @echo %I, чтобы посмотреть, что она найдет. Запустите в окне командной строки for /? и dir /? справку по двум используемым командам. 09.02.2019
  • Вся эта информация, которую вы получили, четко представлена ​​в справочных файлах команд, которые вы используете. Прежде чем задавать вопросы, пожалуйста, сначала прочтите файлы справки. 09.02.2019
  • Просто поправлю свой комментарий, я сделал опечатку. он не должен содержать последний %, он должен быть %%~nxI 10.02.2019

Ответы:


1

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

для 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"
09.02.2019

2

Используя помощь из этой темы, вот немного более сложный пакетный скрипт, который я разработал:

rem This Bat file will take MKV filenames and apply them to MKV info titles

@echo off

rem Modify next line to path where mkvpropedit.exe  !!!!!!!!!

cd "C:\Program Files\MKVToolNix"

set /A errors1=0

rem Modify next line to path where MKV files are. This will also modify MKV's in subdirectories. !!!!!!!!!

for /R "X:\Move" %%X in (*.mkv) DO CALL :loopbody %%X

echo.
echo.
echo Total Errors = %errors1%
echo.
pause

GOTO :EOF


:loopbody

set title0=%*

set "title1=%title0:.mkv=%"

set "title2=%title1:\=" & set "title2=%"

rem The following two lines are to remove additional info I use in the filenames.

set "title3=%title2: 1080p=%"

set "title4=%title3: 720p=%"

set command1=mkvpropedit "%title0%" --edit info --set "title=%title4%"

for /f "delims=" %%a in ('%command1%') do @set response1=%%a

echo %title2%

echo %response1%

echo.

echo.

if /i "%response1:~0,5%"=="Error" (set /A errors1=%errors1% + 1)

GOTO :EOF
18.01.2021
Новые материалы

Угловая структура архитектуры
Обратите внимание, что эта статья устарела, я решил создать новую с лучшей структурой и с учетом автономных компонентов: https://medium.com/@marekpanti/angular-standalone-architecture-b645edd0d54a..

«Данные, которые большинство людей используют для обучения своих моделей искусственного интеллекта, поставляются со встроенным…
Первоначально опубликовано HalkTalks: https://hacktown.com.br/blog/blog/os-dados-que-a-maioria-das-pessoas-usa-para-treinar-seus-modelos-de-inteligencia-artificial- ja-vem-com-um-vies-embutido/..

Сильный ИИ против слабого ИИ: различия парадигм искусственного интеллекта
В последние годы изучению и развитию искусственного интеллекта (ИИ) уделяется большое внимание и прогресс. Сильный ИИ и Слабый ИИ — две основные парадигмы в области искусственного интеллекта...

Правильный способ добавить Firebase в ваш проект React с помощью React Hooks
React + Firebase - это мощная комбинация для быстрого и безопасного создания приложений, от проверки концепции до массового производства. Раньше (знаете, несколько месяцев назад) добавление..

Создайте API с помощью Python FastAPI
Создание API с помощью Python становится очень простым при использовании пакета FastAPI. После установки и импорта вы можете создать приложение FastAPI и указать несколько конечных точек. Каждой..

Веселье с прокси-сервером JavaScript
Прокси-серверы JavaScript — это чистый сахар, если вы хотите создать некоторую общую логику в своих приложениях, чтобы облегчить себе жизнь. Вот один пример: Связь клиент-сервер Мы..

Получить бесплатный хостинг для разработчиков | Разместите свой сайт за несколько шагов 🔥
Статические веб-сайты — это веб-страницы с фиксированным содержанием и его постоянным содержанием. Но теперь статические сайты также обрабатывают динамические данные с помощью API и запросов...