file - PowerShell Get-Content : Try{ .。 } 捕获 { ..}?

标签 file powershell

我做了

try {
    $g = Get-Content $file
} catch { 
    return ""
}

但是,一旦另一个进程仍然写入$ file(并将其阻止),我将收到一条错误消息:无法按以下方式访问该文件。

为什么我不“降落”到catch {}中却出现错误-如何检查文件是否可访问?

提前致谢,
发誓

知道了 :)

我只用:
 try {
     $g = New-Object system.IO.StreamReader $file
 } catch { 
     return ""
 }

如果文件仍被写入,它将重定向到catch-branch

最佳答案

在“尝试/捕获”中,仅在终止错误时调用“捕获”块。在cmdlet上使用-ErrorAction Stop强制终止所有错误:

try {
    $g = Get-Content $file -ErrorAction Stop
} catch { 
    return ""
}

关于file - PowerShell Get-Content : Try{ .。 } 捕获 { ..}?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24229769/

相关文章:

python - 访问共享网络驱动器和删除特定文件的最佳方法

c - 使用系统调用在 C 中读取文件

java - 如何在android studio中添加图像文件并获取其uri?

c - 尝试在 C 中读取迷宫文本文件时出现 malloc 错误

Java FileChannel.size() 与 File.length()

Powershell 将标准输出重定向到标准错误

powershell - Microsoft Teams 访问策略有问题 - New-CsApplicationAccessPolicy

windows - 如何在 powershell 中获取/设置屏幕上的当前窗口位置?

c++ - 适用于 Windows 7 的 OpenGL

azure - 列出嵌套 Azure AD 组的成员