如何确定 Windows 中特定文件是否打开?[关闭]
- 2024-10-14 08:40:00
- admin 原创
- 76
问题描述:
我最喜欢的 Linux 工具之一是lsof - 一把真正的瑞士军刀!
今天,我发现自己想知道 WinXP 系统上的哪些程序打开了特定文件。有没有与 lsof 等效的实用程序?此外,有问题的文件是通过网络共享的,所以我不确定这是否会使事情变得复杂。
解决方案 1:
使用Sysinternals Suite 中的Process Explorer,“查找句柄或 DLL”功能将允许您搜索打开该文件的进程。
解决方案 2:
相当于lsof -p pid
sysinternals handle 和 listdlls 的组合输出,即
handle -p pid
listdlls -p pid
您可以使用 sysinternals 找出 pid pslist
。
解决方案 3:
尝试Handle。Filemon 和Regmon也非常适合尝试找出 duce 程序 foo 对您的系统做了什么。
解决方案 4:
lsof的一个等效项可以是 Sysinternals 的handle和listdlls的组合输出,即:
c:SysInternals>handle
[...]
------------------------------------------------------------------------------
gvim.exe pid: 5380 FOOalois.mahdal
10: File (RW-) C:Windows
1C: File (RW-) D:somelockedpathOpenFile.txt
[...]
c:SysInternals>listdlls
[...]
------------------------------------------------------------------------------
Listdlls.exe pid: 6840
Command line: listdlls
Base Size Version Path
0x00400000 0x29000 2.25.0000.0000 D:optSysinternalsSuiteListdlls.exe
0x76ed0000 0x180000 6.01.7601.17725 C:WindowsSysWOW64
tdll.dll
[...]
c:SysInternals>listdlls
不幸的是,您必须“以管理员身份运行”才能使用它们。
此外,listdlls和handle不会生成连续的表格形式,因此过滤文件名会隐藏 PID。findstr /c:pid: /c:<filename>
不过,这两个实用程序应该会让你非常接近
c:SysinternalsSuite>handle | findstr /c:pid: /c:Driver.pm
System pid: 4 <unable to open process>
smss.exe pid: 308 NT AUTHORITYSYSTEM
avgrsa.exe pid: 384 NT AUTHORITYSYSTEM
[...]
cmd.exe pid: 7140 FOOalois.mahdal
conhost.exe pid: 1212 FOOalois.mahdal
gvim.exe pid: 3408 FOOalois.mahdal
188: File (RW-) D:somelockedpathOpenFile.txt
taskmgr.exe pid: 6016 FOOalois.mahdal
[...]
这里我们可以看到 gvim.exe 打开了这个文件。
解决方案 5:
尝试解锁。
Unlocker 网站有一个漂亮的图表(点击链接后向下滚动),显示了与其他工具的比较。显然,这种比较通常有偏见,因为它们通常由工具作者编写,但图表至少列出了替代方案,以便您可以亲自尝试。
解决方案 6:
如果文件是 .dll,那么您可以使用TaskList命令行应用程序查看谁打开了它:
TaskList /M nameof.dll
解决方案 7:
有一个程序“OpenFiles”,似乎是 Windows 7 的一部分。它似乎可以做你想做的事。它可以列出远程用户打开的文件(通过文件共享),并且在调用“openfiles /Local on”并重新启动系统后,它应该能够显示本地打开的文件。据说后者有性能损失。
解决方案 8:
使用 Process Explorer 查找进程 ID。然后使用Handle找出打开了哪些文件。
例如句柄-p
我喜欢这种方法,因为您使用的是 Microsoft 本身的实用程序。
解决方案 9:
在OpenedFilesView的选项菜单下,有一个名为“显示网络文件”的菜单项。启用该选项后,上述实用程序可能会派上用场。
解决方案 10:
如果右键单击“计算机”(或“我的电脑”)图标并从弹出菜单中选择“管理”,则会将您带到计算机管理控制台。
在其中,在系统工具\共享文件夹下,您将找到“打开文件”。这可能接近您想要的,但如果文件位于网络共享上,那么您需要在文件所在的服务器上执行相同的操作。
- 2024年20款好用的项目管理软件推荐,项目管理提效的20个工具和技巧
- 2024年开源项目管理软件有哪些?推荐5款好用的项目管理工具
- 项目管理软件有哪些?推荐7款超好用的项目管理工具
- 项目管理软件哪个最好用?盘点推荐5款好用的项目管理工具
- 项目管理软件有哪些最好用?推荐6款好用的项目管理工具
- 项目管理软件有哪些,盘点推荐国内外超好用的7款项目管理工具
- 2024项目管理软件排行榜(10类常用的项目管理工具全推荐)
- 项目管理软件排行榜:2024年项目经理必备5款开源项目管理软件汇总
- 2024年常用的项目管理软件有哪些?推荐这10款国内外好用的项目管理工具
- 项目管理必备:盘点2024年13款好用的项目管理软件