我有一個 RAR 存檔,我想提取所有以三位數作為擴展名的檔案。我嘗試使用 Winrar 但它不接受正規表示式:
winrar.exe e -y pinetinf pinet.[0-9*] . // pattern: does not work
winrar.exe e -y pinetinf pinet.222 . // single file name: WORK
如何提取所有擴展名為三位數的檔案?
答案1
僅使用 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'