因此,经过一天左右的研究,我没有找到太多关于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
发布于 2016-01-11 19:32:58
为此,您可以使用简单的foreach方法:
$Zips = Get-ChildItem -filter "*.zip" -path A:\testfolder\ -Recurse
$Destination = 'C:\Extracted'
$WinRar = "C:\Program Files\WinRAR\winrar.exe"
foreach ($zip in $Zips)
{
&$Winrar x $zip.FullName $Destination
Get-Process winrar | Wait-Process
}如果希望多个WinRAR进程同时运行,请删除Get-Process行
https://stackoverflow.com/questions/34719430
复制相似问题