Lexus
@ 08-08-2007, 00:45
Имеется куча папок.
Нужен скрипт для унрара, который проходил бы по папкам и все папки которые содержат сочетание "DVDrip" распаковывал бы в мной указанаю папку.
Пока добился только этого, но этого мало:
1. распаковывается со всех папок.
2. если есть битый архив, то папка пропускается и всё идёт дальше.
FOR /R %%G IN (*.rar) DO unrar.exe e -o- %%G %1
Хотелось бы, чтобы в лог писалось, какая папка была с битым архивом и так же, чтоб папки с "DVDRip" обрабатывались.
Заранее спасибо!
1. название папки содержит DVDRip или название архива?
Если архива, то
FOR /R %%G IN (*DVDRip*.rar) DO unrar.exe e -o- %%G %1
Если папки и надо распаковывать все архивы в этой папке, то
FOR /D /R %%G IN (*) DO unrar.exe e -o- %%G\*.rar %1
2. a "> c:\unrar.log 2>&1" добавить к комманде не поможет? Потом в логе можно поискать ошибки...
P.S. Я не тестировал, не гарантирую.
Lexus
@ 08-08-2007, 22:45
Протестировал. Стало лучше, но
распаковывает из всех папок, а не из тек, название которых содержит "DVDRip"
и в лог пишется всё что происходит, а не только сообшение о какой-либо ошибке
ой, звиняй, конечно надо было
FOR /D /R %%G IN (*DVDRip*) DO unrar.exe e -o- %%G\*.rar %1
A log... а проблема потом из лога выкинуть то, что не надо?
Ну и можно вместо "> c:\unrar.log 2>&1" попробовать просто "2> c:\unrar.err" например.
Lexus
@ 09-08-2007, 12:45
Прогнал. Всё пашит. Теперь тока возникла проблема.
Если в той папке что содержит название DVDRip есть ещё подпапки: к примеру:
Die Hard_DVDRip/
CD1/
CD2/
Part3/
и в этих подпапках лежат рары, то скрипт игнорирует их (оно и ясно, так как тока на *DVDRip* натравлен.
Пробывал сделать так:
CODE |
FOR /D /R %%A IN (*DVDRip*) DO ( FOR /D /R %%B IN (*) DO ( unrar.exe e -o- %%B\*.rar %1 ) )
|
Он гад сначало прохид все папки *DVDRIp* , а под конец ещё на раз проходит полностью всё что во всех папках, игнорируя условие *DVDRip*
Lexus
@ 09-08-2007, 15:47
Выдал: The syntax of the command is incorrect.
UPD: убрал && и всё пошло :)