如何检测文件是否已被 powershell 中的另一个进程锁定?
我读过一些检查示例,这些示例会捕获尝试读取文件时发生的异常。但我觉得这不太好。
答案1
一般来说,如果不实际尝试使用某个文件,您无法确定自己是否有权访问该文件。即使您可以进行适当的检查,在检查和使用文件之间,状态也可能发生变化。
例如,用户向您提供了一个要读取的文件名。您检查该文件是否存在,如果存在,则决定继续。在您尝试读取它之前,另一个程序将其删除。或者,该文件位于网络共享上,而网络出现故障。
因此,尝试使用该文件,捕获异常,并正常失败。
另外,请记住只捕获和消除您理解和预料到的异常。