经过一天的搜索,我没有找到关于使用PowerShell和WinRAR命令行提取文件的太多信息。
我的困难在于实际执行参数和命令行。
以下是我目前的简单代码:
$WinRar = "C:\Program Files\WinRAR\winrar.exe"
#filter through files looking for zip files.
$path = get-ChildItem -filter "*.zip" -path A:\testfolder\ -recurse
#test to see if it is actually filtering and showing correct results:
write-host = $path | format-table directory
#arguments :: x (extract) y(presume yes) r(recurse subdir)
&$WinRar x -y -r "$path" A:\Testfolder\
read-host "press to exit"
我对PowerShell还不是很熟练,但似乎很快就能掌握,但我认为我的代码完全错了,因为它执行时没有提取任何东西。所以我想它在某个地方出错了,但我看不出来它在做什么。
有哪些建议或提示可以指导我走向正确的方向呢?
我尝试了许多$winrar 命令的变化,但都没有成功,除了一个部分,如果我用实际文件路径替换$path,它就有效了...这不是我需要的:P
*
或?
的文件名模式匹配的所有存档中提取文件/文件夹。例如,WinRAR x *.zip
将当前目录中的所有 ZIP 存档提取到当前目录中。使用 WinRAR v5.30 或任何更高版本,WinRAR x *\*.zip
从任何子目录中提取所有文件/文件夹到当前目录中,但会忽略当前目录中的 ZIP 存档。 - Mofi