2

У меня есть скрипт, который использует 7zip для извлечения всех RAR-файлов, и это здорово.

Единственная проблема заключается в том, что мне приходится вручную просматривать папки и перемещать файлы .avi или .mkv.

Скрипт, который я сейчас использую

FOR /D /r %%F in ("*") DO (
    pushd %CD%
    cd %%F
        FOR %%X in (*.rar *.zip) DO (
            "C:\Program Files\7-zip\7z.exe" x %%X
        )
    popd
)

Моя текущая настройка:

D:\rared\ загружает имена папок, затем я перемещаю их все в D:\rared\ extract

Есть ли способ изменить первый скрипт или просто написать другой, чтобы переместить все файлы во всех подкаталогах в извлеченную папку?

2 ответа2

0

Попробуйте изменить имеющуюся командную строку 7z, добавив -oD:\rared\extract

Так что "C:\Program Files\7-zip\7z.exe" x %%X
становится "C:\Program Files\7-zip\7z.exe" x %%X -oD:\rared\extracted

0

Извините за опоздание. Ниже то, что я бы сделал. Я установил минимальный размер файла в 12 345 КБ, чтобы избежать всех этих надоедливых клипов сэмплов (прилагайте по вашему желанию). У меня нет абсолютно никакого способа проверить это, потому что я использую rar.exe, e/x не должен иметь значения. Дайте мне знать, если это работает для вас или если вы хотите какую-то другую функцию или если у вас есть какие-либо?s

SetLocal
Set BaseDir     =D:\Rars\
Set TempDir     =D:\rared\extracted\
Set GoodStuff   =D:\GoodStuffToWatch\
Set MinFileSize =12345

FOR /R %BaseDir% %%F in (*.RAR *.ZIP) DO "C:\Program Files\7-zip\7z.exe" x "%%~fF" -o%TempDir%
FOR /R %TempDir% %%G in (*.AVI *.MKV) DO IF %%~zG GTR %MinFileSize% Move "%%~fG" %GoodSTufF%

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .