使用VBS检查文件是否正在使用

5

我希望能制作一个小的VBS脚本,告诉用户文件是否正在使用中。我有一个文件,如果此文件正在被使用,VBS应该给我一个消息表示文件正在使用中。如果该文件未被任何进程使用,VBS应该给我一个消息表示文件未被使用。我尝试了这个,但没有起作用。


该 KB 文章包含 VBA 的示例代码,它是微软 Office 套件的宏语言。VBScript 与 VBA 不同。 - Ansgar Wiechers
@Fesiitis - 你能具体一点吗? - Panayot Karabakalov
我想创建一个VBS文件,并将其放在与我的媒体文件相同的文件夹中。当我打开媒体文件,然后打开这个VBS时,VBS需要显示一个消息框,其中包含文本,说明媒体文件正在被某个进程使用(无需显示是哪个进程)。但是,如果我只打开这个VBS而不是媒体文件,那么VBS会向我显示一个消息框,其中包含文本,说明媒体文件没有被任何进程使用。 - user2151739
这个答案对我有用。 - Jay Brown
1个回答

9
您可以尝试使用WMI查询:
filename = "..."

Set wmi = GetObject("winmgmts://./root/cimv2")

qry = "SELECT * FROM Win32_Process WHERE CommandLine LIKE '%" & filename & "%'"
For Each p In wmi.ExecQuery(qry)
  WScript.Echo "Media file in use."
  WScript.Quit 0
Next

WScript.Echo "Media file not in use."

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接