具有多个参数的Powershell函数

时间:2014-04-11 17:21:09

标签: function powershell parameters

我正在尝试使用7zip编写一个压缩文件的函数,但是我遇到了将多个参数传递给函数的问题。

$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。

在传递$ Input参数时,我到底做错了什么?

1 个答案:

答案 0 :(得分: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