2017-02-16 90 views
1

有人可以帮我处理这个脚本的错误处理。 我基本上需要测试以查看文件是否存在 - 如果存在,请复制它,如果不存在 - 不要抛出错误。我的问题是,如果文件不存在,当我测试在这里,我得到一个错误: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

您必须检查$DMZ_File是否不等于$null。因此您对代码的第二行延伸至:

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

请参见本link进一步的例子/信息。

+0

行事!非常感谢 - 工作。 – IJH