2017-02-16 105 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