【问题标题】:Killing an specified executable path with vbscript [duplicate]使用 vbscript 杀死指定的可执行路径 [重复]
【发布时间】:2020-01-07 21:23:21
【问题描述】:
On Error Resume Next
Dim fso,oShell,file
Set fso = CreateObject("Scripting.FileSystemObject")
Set oShell = CreateObject("WScript.Shell")
oShell.Run "Taskkill /F /IM mysqld.exe",0,True  

file = "C:\xampp\mysql\bin\mysqld.exe"
If fso.FileExists(file) Then
    fso.DeleteFile file
End If
Set oShell = Nothing 
Set fso = Nothing

我尝试使用以下cmd从指定目录中杀死mysqld.exe oShell.run "WMIC PROCESS WHERE "ExecutablePath like 'C:\xampp\mysql\bin\mysqld.exe'" 删除但出现错误,即使在 cmd.exe 上运行 wmic cmd 时也会出现错误.. 其他目录下有多个进程mysqld.exe在运行,我怎样才能从指定路径中杀死并删除一个?

【问题讨论】:

    标签: batch-file cmd vbscript wmic


    【解决方案1】:

    键入命令或模拟键入命令不是编程。

    可以从命令行界面获得这些对象的帮助。

    wmic path Win32_Process get /?
    

    wmic path Win32_Process call /?
    

    如果对象具有可写属性

    wmic path Win32_Process set /?
    

    任何命令可以做的事情程序也可以做。

    Set objWMIService = GetObject("winmgmts:\\.\root\cimv2")
    Set colItems = objWMIService.ExecQuery("Select * From Win32_Process")
    
    For Each objItem in colItems
        'msgbox objItem.name & " " & objItem.CommandLine
        If LCase(objItem.name) = "notepad.exe" then 
            If Msgbox("Close Notepad", 33, "Program Closer") = 1 then
                objItem.terminate
            End If
        End If
    Next
    

    【讨论】:

    • taskkill 是一种更简单的方法。问题是如何指定要杀死的可执行文件的路径?..
    • 这不是编程问题,而是如何输入用户命令。见wmic /?
    • @datarocker 磁盘披萨是一种更容易吃的方法,但我更喜欢自己在家做披萨。不是关于它有多容易,有偏好,这是个人的
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多