Extrai arquivos correspondentes ao padrão do arquivo RAR

0

Eu tenho um arquivo RAR, e eu quero extrair todos os arquivos com um número de três dígitos como uma extensão. Eu tentei com o Winrar, mas ele não aceita EXPRESS 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 têm uma extensão de três dígitos?

    
por user2993079 05.08.2018 / 05:05

1 resposta

0

Você não pode fazer isso usando apenas o WinRAR, mas pode chamar 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' $_ } }

Como alternativa, 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 isso 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'
    
por 06.08.2018 / 13:00