我正在尝试使用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参数时,我到底做错了什么?
答案 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