SysInternals处理打开时不显示我的.txt文件

Sop*_*rez 0 windows shell file-io locking handle

我正在编写一个与锁定文件一起使用的Windows shell脚本.为了知道某个文件是否被锁定,我正在测试来自SysInternalsHandle*实用程序,根据其文档:

«Handle是一个实用程序,显示有关系统中任何进程的打开句柄的信息.您可以使用它来查看打开文件的程序»

所以我通过创建一个简单的.txt文件来尝试:

C:\Windows\system32>echo Foo >> Foo.txt
C:\Windows\system32>notepad Foo.txt
Run Code Online (Sandbox Code Playgroud)

(记事本显示在屏幕上,其中包含一个名为的新文件Foo.

C:\Windows\system32>handle Foo

Handle v3.51
Copyright (C) 1997-2013 Mark Russinovich
Sysinternals - www.sysinternals.com

No matching handles found.
Run Code Online (Sandbox Code Playgroud)

这里发生了什么?我的文件应该是打开的,记事本应该有一个句柄,但这一行:

handle -p notepad | grep "Foo"
Run Code Online (Sandbox Code Playgroud)

没有结果.
如何使用句柄来了解我的Foo.txt文件是否正在使用(锁定)?
也许有人可以给我一些使用句柄的例子.

小智 5

记事本将文件读入内存并关闭句柄,这就是为什么你看不到它打开的原因.您可以在Process Monitor跟踪中看到该行为.