Powershell - 测试路径错误处理

时间:2017-02-16 07:53:18

标签: shell powershell

有人可以帮我解决此脚本的错误处理问题。 我基本上需要测试一个文件是否存在 - 如果存在,如果没有则复制它 - 不要抛出错误。我遇到的问题是如果文件不存在我在这里测试时会出错:

$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编码! :)

1 个答案:

答案 0 :(得分:1)

您必须检查$DMZ_File是否不等于$null。因此,您需要将代码的第二行扩展为:

$DMZ_Test_File1 = if ($DMZ_File) { Test-Path $DMZ_File }

有关更多示例/信息,请参阅此link