Попытка организовать показы * .nfo файлов, чтобы они имели то же имя, что и mkv (Edit: avi woops на самом деле не меняют код), которые они соответствуют.Переименование файлов * .nfo в соответствии с их * .mkv's
Test Folder:
76107.2.1.nfo
76107.2.2.nfo
76107.2.3.nfo
Doctor Who - S02E01 (009) - Planet of Giants (1) - Planet of Giants.avi
Doctor Who - S02E01 (009) - Planet of Giants (2) - Dangerous Journey.avi
Doctor Who - S02E01 (009) - Planet of Giants (3) - Crisis.avi
Теперь число эпизодов в 76107.2. *. NFO неверны в более поздних папках схожесть в папке тест только потому, что это первый в сезоне. поэтому я не могу просто сравнивать имена для их соответствия, но они находятся в правильном порядке, поэтому я пытаюсь использовать счетчики, чтобы переименовать первый * .nfo так же, как и первый * .avi, а затем второй * .nfo. то же, что и второй * .avi и так далее!
Я сделал сценарий, который, как я думал, должен работать, но он ничего не делает. Любая помощь приветствуется! Редактировать Теперь он работает благодаря Aacini, за исключением странной ошибки, отмеченной в коде.
@echo on
setlocal enableDelayedExpansion
set cnta=0
Set cntb=0
for %%b in (*.avi) do (
set /a cnta=cnta+1
set line_!cnta!=%%~Nb
)
for %%c in (*.nfo) do (
set /a cntb=cntb+1
for %%i in (!cntb!) do ren "%%~fc" "!line_%%i!.nfo"
)
Ошибка: первое nfo, похоже, попало в конец списка, но его место все еще сохраняется. Как и в любом другом nfo, имя соответствует соответствующему avi.
Test 1 (Original Test Folder) Results:
.nfo
Doctor Who - S02E01 (009) - Planet of Giants (1) - Planet of Giants.avi
Doctor Who - S02E01 (009) - Planet of Giants (2) - Dangerous Journey.avi
Doctor Who - S02E01 (009) - Planet of Giants (2) - Dangerous Journey.nfo
Doctor Who - S02E01 (009) - Planet of Giants (3) - Crisis.avi
Doctor Who - S02E01 (009) - Planet of Giants (3) - Crisis.nfo
Test 2 (Added Extra Bonus File) Results:
Doctor Who - S02E01 (009) - Planet of Giants (1) - Planet of Giants.avi
Doctor Who - S02E01 (009) - Planet of Giants (2) - Dangerous Journey.avi
Doctor Who - S02E01 (009) - Planet of Giants (2) - Dangerous Journey.nfo
Doctor Who - S02E01 (009) - Planet of Giants (3) - Crisis.avi
Doctor Who - S02E01 (009) - Planet of Giants (3) - Crisis.nfo
Doctor Who - S02E01 (009) - Planet of Giants (4) - The Making of Planet of Giants.avi
Doctor Who - S02E01 (009) - Planet of Giants (4) - The Making of Planet of Giants.nfo
Некоторые папки будут содержать бонусные видео в конце списка, которые не имеют соответствие NFO, но они всегда в конце. Я прочитал nfo, чтобы проверить только «.nfo» (Test 1)/«Doctor Who - S02E01 (009) -« Планета гигантов »(4) -« Создание планеты гигантов »(тест 2) были неуместны, они должны были из «Доктор Кто - S02E01 (009) - Планета гигантов (1) - Планета гигантов.nfo»
Возможно, вам повезет, отсортировав список файлов с помощью опций 'dir'. Но я не знаю, если у вас возникнут проблемы с пространственным пространством с длинным списком переменных. – shawnt00
Вам также необходимо двойное расширение переменных во втором цикле.Возможно, это поможет: http://stackoverflow.com/questions/1199931/how-expand-a-cmd-shell-variable-twice-recursive – shawnt00
Это, вероятно, лучшая ссылка: http://stackoverflow.com/questions/ 7882395/why-is-delayed-expand-in-a-batch-file-not-working-in-this-case – shawnt00