2015-04-06 110 views
0

我试图做这样说:如何在vbscript中创建和执行批处理文件?

Dim objFSO, outFile, wshShell 
Set objFSO = CreateObject("Scripting.FileSystemObject") 
Set outFile = objFSO.CreateTextFile("paint.bat", True) 
outFile.WriteLine "taskkill /f /im mspaint.exe" 
Set wshShell = CreateObject("WScript.Shell") 
wshShell.Run "paint.bat", 0, false 

,这是工作,但一个错误,说“文件已被另一个进程使用”

回答

0

该文件已在使用自己的cscriptwscript过程。您应该在run之前使用outFile.Close(也可能使用Set outFile = Nothing)。

0

直接以vbscript结束涂料。

Set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\cimv2") 
Set colItems = objWMIService.ExecQuery("Select * From Win32_Process") 
For Each objItem in colItems 
    If objitem.Name = "mspaint.exe" Then 
     msgbox objitem.name & " PID=" & objItem.ProcessID & " SessionID=" & objitem.sessionid 
     objitem.terminate 
    End If 
Next