Powershell在管道中的参数中使用表达式:“Move-Item:不支持给定路径的格式。”

时间:2012-10-26 20:36:27

标签: powershell

我在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
 }

有人可以给我任何指示吗?

1 个答案:

答案 0 :(得分:4)

如果要在表达式中为cmdlet参数参数使用管道对象$_,则该参数必须首先支持管道绑定,其次,必须将参数放在scriptblock中,例如:

ls *.txt | mi -Destination {"\\storage\logs\iis\$computer\$($_.Directory.Name)"} -force -WhatIf