![另一个进程正在使用该文件,因此进程无法访问它](https://linux22.com/image/1590579/%E5%8F%A6%E4%B8%80%E4%B8%AA%E8%BF%9B%E7%A8%8B%E6%AD%A3%E5%9C%A8%E4%BD%BF%E7%94%A8%E8%AF%A5%E6%96%87%E4%BB%B6%EF%BC%8C%E5%9B%A0%E6%AD%A4%E8%BF%9B%E7%A8%8B%E6%97%A0%E6%B3%95%E8%AE%BF%E9%97%AE%E5%AE%83.png)
有时我通过 CMD 脚本运行的其中一次常规屏幕输出中会出现此消息:
“该进程无法访问该文件,因为该文件正在被另一个进程使用。”
我知道我可以使用程序主动监控锁定文件的进程,但此脚本在后台运行。另外:锁定确实存在,但持续时间很短(<1 秒)。
当我查看此类运行创建的日志文件时,我可以看到错误消息(如上所示)。我也有时间,但由于脚本的输出有限,没有更多信息。
所以我的问题是:根据这些信息,如何追溯找出哪个文件被锁定了?
如果错误信息能够显示被锁定的文件的名称,那就太好了。
答案1
我最近在 Windows 10 v1903 中的 cmd 提示符下遇到了此错误。该错误显示在控制台中,针对特定文件名 ZeroBytes.lst。我正在将文本输出通过管道传输到 ImDisk 创建的 Ram 磁盘上的此文件名。将此输出通过管道传输到任何其他驱动器和/或文件夹(相同的 ramdisk)均不会显示任何错误。此外,该过程会立即显示此错误,但会继续运行并以 errorlevel = 0 完成,而它应该设置 errorlevel GTR 0。简而言之,该过程本身只显示错误,但不设置错误。当我使用 > R:\WDr\ZeroBytes.lst 管道传输输出时,就会发生这种情况。任何其他文件名在 R:\WDr 中都可以正常工作而不会出现错误,并且 ZeroBytes.lst 在 R: 驱动器中的任何其他文件夹中都可以正常工作而不会出现错误。
我已经实施了以下解决方法“ >R:\WDr\ZeroBytes.lst 2>&1”
看起来您正在寻找详细信息,因此希望这会有所帮助。