Powershell检查文件是否存在

Powershell检查文件是否存在,powershell,Powershell,我通过SSIS进程任务调用了下面的PowerShell脚本,以检查文件是否已锁定-如何修改以首先检查文件是否存在 如果不存在,则使用999退出 如果它确实存在但已锁定,则使用999退出 如果它确实存在且未锁定,则使用0退出 $file = "\\xxxxxx\xxxx\xxxxx\xxxxxxxxx\task_status.log" try { [IO.File]::OpenWrite($file).close();exit 0 } catch { exit 999} 如果另一篇文

我通过SSIS进程任务调用了下面的PowerShell脚本,以检查文件是否已锁定-如何修改以首先检查文件是否存在

  • 如果不存在,则使用999退出

  • 如果它确实存在但已锁定,则使用999退出

  • 如果它确实存在且未锁定,则使用0退出

    $file = "\\xxxxxx\xxxx\xxxxx\xxxxxxxxx\task_status.log"    
    try { [IO.File]::OpenWrite($file).close();exit 0 } catch { exit 999}
    

如果另一篇文章也是关于复制的,这怎么会是重复的?我的是关于检查它是否存在以及它的锁。如果文件存在但未被锁定,我不会得到0。如果文件存在,它将使用旧的try/catch,并以与以前相同的代码退出。如果该文件不存在,它将返回999。如果该文件存在且未锁定,为什么我得不到0?我曾在PowerShell中尝试过。事实上,如果我在MS Word中打开日志,它将不起作用-我应该期待看到999?它只是在PowerShell中不返回任何内容尝试将出口0和出口999更改为返回0和出口999。
$file = "\\xxxxxx\xxxx\xxxxx\xxxxxxxxx\task_status.log"
if (Test-Path -path $file)
{ 
    try { [IO.File]::OpenWrite($file).close();return 0 } catch { return 999}
}
else
{
    return 999
}