Eu tenho um arquivo RAR e quero extrair todos os arquivos com um número de três dígitos como extensão. Tentei com Winrar mas não aceita EXpressão REGular:
winrar.exe e -y pinetinf pinet.[0-9*] . // pattern: does not work
winrar.exe e -y pinetinf pinet.222 . // single file name: WORK
Como posso extrair todos os arquivos cujos nomes possuem extensão de três dígitos?
Responder1
Você não pode fazer isso usando apenas o WinRAR, mas pode ligar para o Powershell para ajudá-lo com a filtragem.
Liste os arquivos do arquivo e canalize a saída para um loop for para extrair os necessários em um console Powershell.
& 'UnRAR.exe' 'lb' '.\file.rar' | ForEach-Object { If($_ -like '*.[0-9][0-9][0-9]') { & 'UnRAR.exe' 'e' '.\file.rar' $_ } }
Alternativamente, você pode criar um arquivo de lista e executar unrar.exe apenas uma vez para extrair os arquivos (talvez seja um pouco mais rápido fazer desta forma se você tiver muitos arquivos).
& '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'