2014-04-11 164 views
0

我正在嘗試編寫一個函數來使用7zip壓縮文件,但我遇到了將多個參數傳遞給該函數的問題。具有多個參數的Powershell函數

$In = "C:\test\gateways_25357_20140407000204.pcap" 
$Out = "C:\test\gateways_25357_20140407000204.zip" 


function CompressFile([string]$Output,[string]$Input) { 
    Write-Host $Output 
    write-host $Input 
    $7zipPath = "C:\Program Files\7-Zip\7z.exe" 
    $Arguments = "a","-tzip",$Output,$Input 
    & $7zipPath $Arguments 

} 

CompressFile $Out $In 

此代碼的結果是壓縮此腳本的工作目錄中的文件,並將輸出轉到正確的位置c:\ test。

到底什麼是我在這裏做錯了傳入$輸入參數?

回答

2

$ Input是一個PowerShell自動變量,請嘗試更改名稱。 看到

$In = "C:\test\gateways_25357_20140407000204.pcap" 
$Out = "C:\test\gateways_25357_20140407000204.zip" 


function CompressFile([string]$Outputz, [String]$Inputz) { 
    Write-Host $Outputz 
    write-host $Inputz 
} 
Write-Host $Out 
write-host $In 
CompressFile $Out $In 

http://technet.microsoft.com/en-us/library/hh847768.aspx

+0

它的工作就像一個魅力!謝謝您的幫助。 – Jdenny

相關問題