2010-04-22 39 views
2
作爲參數傳遞給命令

我的PowerShell腳本採用以下參數:如何將變量與報價在PowerShell中

參數($ BackedUpFilePath)

,這是獲得傳入我的劇本的價值是:

「\ 123.123.123.123 \備份\ Website.7z」

我還有一個變量,它是我要爲Extrac位置T中的文件:

$ WebsiteDeploymentFolder = 「C:\例如」

我想用下面的命令來提取檔案:

`7Z X $ BackedUpFilePath -o $ WebsiteDeploymentFolder - AOA

我不斷收到以下錯誤:

錯誤: 找不到檔案

下面的作品,但我需要$ BackedUpFilePath是動態的:

`7Z X '\ 123.123.123.123 \備份\ Website.7z' -o $ WebsiteDeploymentFolder -aoa

我想我需要將$ BackedUpFilePath傳遞給7z引號,但無論我嘗試什麼,它們似乎都被剝離出來。我在地獄。

謝謝。

編輯:事實證明,問題是我通過「'\ 123.123.123.123 \ Backups \ Website.7z'」。 (額外單引號)

回答

2

在PowerShell中處理外部命令行應用程序(在我看來)最簡單的方法是使用別名。例如,以下工作適合我。

Set-Alias Szip C:\Utilities\7zip\7za.exe 

$Archive = 'C:\Temp\New Folder\archive.7z' 
$Filename = 'C:\Temp\New Folder\file.txt' 

SZip a $Archive $Filename 

PowerShell負責正確分隔參數。