Вилучення файлів, що відповідають шаблону з архіву RAR


0

У мене є архів RAR, і я хочу витягти всі файли з тризначним номером як розширення. Я спробував з Winrar, але він не приймає виключення Regular:

winrar.exe e -y pinetinf pinet.[0-9*] .      // pattern: does not work
winrar.exe e -y pinetinf pinet.222 .         // single file name: WORK

Як витягти всі файли, імена яких мають тризначне розширення?


Боюся, ви не можете.
Toto

Я думаю, ви можете використовувати list варіант rar (або ви можете використовувати 7-zip, які також можуть витягувати файли з rar), то обходити результат до деякого фільтра (якийсь зовнішній інструмент, який буде витягувати імена файлів вам потрібно без PITA), а потім витягти файли за допомогою include параметри архіватора разом з опцією екстракту.
Alex

Відповіді:


0

Ви не можете робити це лише за допомогою WinRAR, але ви можете зателефонувати Powershell, щоб допомогти вам у фільтрації.

Перелічіть файли з архіву та перенесіть вихід у цикл for, щоб видобути необхідні в консолі Powershell.

& 'UnRAR.exe' 'lb' '.\file.rar' | ForEach-Object { If($_ -like '*.[0-9][0-9][0-9]') { & 'UnRAR.exe' 'e' '.\file.rar' $_ } }

Крім того, ви можете створити файл списку і запустити unrar.exe тільки один раз, щоб витягти файли (можливо, це трохи швидше, щоб зробити це таким чином, якщо у вас є завантаження файлів).

& 'UnRAR.exe' 'lb' '.\file.rar' | ForEach-Object { If($_ -like '*.[0-9][0-9][0-9]') { Out-File '.\files.list' -InputObject $_ -Append } } | & 'UnRAR.exe' 'e' '.\file.rar' '-n@.\files.list'
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.