Extraia arquivos que correspondam ao padrão do arquivo RAR

Extraia arquivos que correspondam ao padrão do arquivo RAR

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'

informação relacionada