2015-08-24 105 views
3

我想使用PowerShell從USB驅動器中的密碼保護zip文件中提取文件。我查了很多方法,但最簡單的方法似乎不起作用。解壓縮受密碼保護的文件

$7ZipPath = "C:\Program Files\7-Zip\7z.exe" 
$zipFile = "E:\passwordprotectedtest.zip" 
$zipFilePassword = "Foo" 

& $7ZipPath e -oE:\ -y -tzip -p "$zipFilePassword" "$zipFile" 

我不斷收到此錯誤:

7-Zip 9.20 Copyright (c) 1999-2010 Igor Pavlov 2010-11-18 

Error 
Cannot use absolute pathnames for this command 

然後我搬到文件到我的桌面,改變$zipFile = "passwordprotectedtest.zip",改變-oE:\ to -oC:\

那固定的路徑錯誤,但開始得到這個錯誤,而不是

7-Zip 9.20 Copyright (c) 1999-2010 Igor Pavlov 2010-11-18 

Error 
Cannot find archive 
+1

你給E動: - > C:或E: - >桌面?如果後者需要提供完整路徑,7z.exe將不知道您的桌面在C:\ –

+0

上的位置。我將文件從E:\移動到C:\ ... \ Desktop(與劇本)。我還提供了桌面的完整路徑,但得到了第一個錯誤。 –

+2

嘗試使用'Start-Process'並用'-ArguementList'列出參數 - 編輯參見[here](http://windowsitpro.com/powershell/running-executables-powershell)以獲取更多詳細信息 – user4317867

回答

3

試試這個方法:

$7ZipPath = '"C:\Program Files\7-Zip\7z.exe"' 
$zipFile = '"e:\passwordprotectedtest.zip"' 
$zipFilePassword = "Foo" 
$command = "& $7ZipPath e -oe:\ -y -tzip -p$zipFilePassword $zipFile" 
iex $command 
相關問題