我在PowerShell脚本中有以下一些代码,它们使用Move-Item进行轰炸:不支持给定路径的格式。我似乎无法弄清楚我做错了什么。
$computer = gc env:computername
write-host "Moving archives `r`n"
gci -Path $logdir -Recurse -Include *.7z | ForEach-Object {
mi -Path $_.FullName -Destination \\storage\logs\iis\$computer\$_.Directory.Name\ -force -WhatIf
}
有人可以给我任何指示吗?
答案 0 :(得分:4)
如果要在表达式中为cmdlet参数参数使用管道对象$_
,则该参数必须首先支持管道绑定,其次,必须将参数放在scriptblock中,例如:
ls *.txt | mi -Destination {"\\storage\logs\iis\$computer\$($_.Directory.Name)"} -force -WhatIf