有人可以帮我解决此脚本的错误处理问题。 我基本上需要测试一个文件是否存在 - 如果存在,如果没有则复制它 - 不要抛出错误。我遇到的问题是如果文件不存在我在这里测试时会出错:
$DMZ_Test_File1 = Test-Path $DMZ_File
Cannot bind argument to parameter 'Path' because it is null.
完整代码 - 当文件存在时,所有其他工作正常
$DMZ_File = Get-ChildItem 'DMZ_Drive:*.xml' | Where {$_.LastWriteTime -gt (Get-Date).AddHours(-24)} -ErrorAction SilentlyContinue
$DMZ_Test_File1 = Test-Path $DMZ_File
If ($DMZ_Test_File1 -eq $true) {Copy-Item $DMZ_File LAN_Drive:\}
Else {Write-Host "File does not exist"}
请原谅我的rudimentry编码! :)
答案 0 :(得分:1)
您必须检查$DMZ_File
是否不等于$null
。因此,您需要将代码的第二行扩展为:
$DMZ_Test_File1 = if ($DMZ_File) { Test-Path $DMZ_File }
有关更多示例/信息,请参阅此link。