Extraiga archivos que coincidan con el patrón del archivo RAR

Extraiga archivos que coincidan con el patrón del archivo RAR

Tengo un archivo RAR y quiero extraer todos los archivos con un número de tres dígitos como extensión. Intenté con Winrar pero no acepta REGular EXpression:

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

¿Cómo puedo extraer todos los archivos cuyos nombres tienen una extensión de tres dígitos?

Respuesta1

No puedes hacer eso usando WinRAR solo, pero puedes llamar a Powershell para que te ayude con el filtrado.

Enumere los archivos del archivo y canalice la salida a un bucle for para extraer los necesarios en una consola Powershell.

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

Alternativamente, puede crear un archivo de lista y ejecutar unrar.exe solo una vez para extraer los archivos (tal vez sea un poco más rápido hacerlo de esta manera si tiene muchos archivos).

& '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'

información relacionada