如何确定 Windows 中特定文件是否打开?[关闭]

2024-10-14 08:40:00
admin
原创
76
摘要:问题描述:我最喜欢的 Linux 工具之一是lsof - 一把真正的瑞士军刀!今天,我发现自己想知道 WinXP 系统上的哪些程序打开了特定文件。有没有与 lsof 等效的实用程序?此外,有问题的文件是通过网络共享的,所以我不确定这是否会使事情变得复杂。解决方案 1:使用Sysinternals Suite ...

问题描述:

我最喜欢的 Linux 工具之一是lsof - 一把真正的瑞士军刀!

今天,我发现自己想知道 WinXP 系统上的哪些程序打开了特定文件。有没有与 lsof 等效的实用程序?此外,有问题的文件是通过网络共享的,所以我不确定这是否会使事情变得复杂。


解决方案 1:

使用Sysinternals Suite 中的Process Explorer,“查找句柄或 DLL”功能将允许您搜索打开该文件的进程。

解决方案 2:

相当于lsof -p pidsysinternals handle 和 listdlls 的组合输出,即

handle -p pid
listdlls -p pid

您可以使用 sysinternals 找出 pid pslist

解决方案 3:

尝试Handle。Filemon 和Regmon也非常适合尝试找出 duce 程序 foo 对您的系统做了什么。

解决方案 4:

lsof的一个等效项可以是 Sysinternals 的handlelistdlls的组合输出,即:

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

不幸的是,您必须“以管理员身份运行”才能使用它们。

此外,listdllshandle不会生成连续的表格形式,因此过滤文件名会隐藏 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:

如果右键单击“计算机”(或“我的电脑”)图标并从弹出菜单中选择“管理”,则会将您带到计算机管理控制台。

在其中,在系统工具\共享文件夹下,您将找到“打开文件”。这可能接近您想要的,但如果文件位于网络共享上,那么您需要在文件所在的服务器上执行相同的操作。

相关推荐
  为什么项目管理通常仍然耗时且低效?您是否还在反复更新电子表格、淹没在便利贴中并参加每周更新会议?这确实是耗费时间和精力。借助软件工具的帮助,您可以一目了然地全面了解您的项目。如今,国内外有足够多优秀的项目管理软件可以帮助您掌控每个项目。什么是项目管理软件?项目管理软件是广泛行业用于项目规划、资源分配和调度的软件。它使项...
项目管理软件   601  
  华为IPD与传统研发模式的8大差异在快速变化的商业环境中,产品研发模式的选择直接决定了企业的市场响应速度和竞争力。华为作为全球领先的通信技术解决方案供应商,其成功在很大程度上得益于对产品研发模式的持续创新。华为引入并深度定制的集成产品开发(IPD)体系,相较于传统的研发模式,展现出了显著的差异和优势。本文将详细探讨华为...
IPD流程是谁发明的   7  
  如何通过IPD流程缩短产品上市时间?在快速变化的市场环境中,产品上市时间成为企业竞争力的关键因素之一。集成产品开发(IPD, Integrated Product Development)作为一种先进的产品研发管理方法,通过其结构化的流程设计和跨部门协作机制,显著缩短了产品上市时间,提高了市场响应速度。本文将深入探讨如...
华为IPD流程   9  
  在项目管理领域,IPD(Integrated Product Development,集成产品开发)流程图是连接创意、设计与市场成功的桥梁。它不仅是一个视觉工具,更是一种战略思维方式的体现,帮助团队高效协同,确保产品按时、按质、按量推向市场。尽管IPD流程图可能初看之下显得错综复杂,但只需掌握几个关键点,你便能轻松驾驭...
IPD开发流程管理   8  
  在项目管理领域,集成产品开发(IPD)流程被视为提升产品上市速度、增强团队协作与创新能力的重要工具。然而,尽管IPD流程拥有诸多优势,其实施过程中仍可能遭遇多种挑战,导致项目失败。本文旨在深入探讨八个常见的IPD流程失败原因,并提出相应的解决方法,以帮助项目管理者规避风险,确保项目成功。缺乏明确的项目目标与战略对齐IP...
IPD流程图   8  
热门文章
项目管理软件有哪些?
云禅道AD
禅道项目管理软件

云端的项目管理软件

尊享禅道项目软件收费版功能

无需维护,随时随地协同办公

内置subversion和git源码管理

每天备份,随时转为私有部署

免费试用