2015-02-08 96 views
0

我正在嘗試使用以下腳本調用vbscript。從.bat或cmd調用vbsript

幾乎一切工作正常,但好像它無視線WScript "%~dp0\close.vbs"

close.vbs腳本關閉某些應用程序中的對話框,不知道該怎麼做在cmd中。

批處理腳本

FOR %%f IN (*.obj) DO (
    start "C:\Program Files\VCG\MeshLab\meshlab.exe" %%f 
    WScript "%~dp0\close.vbs" 
    nircmd.exe cmdwait 3000 savescreenshot "%%~nf_OBJ.png" 
    taskkill /F /IM meshlab.exe 
) 

close.vbs

Set oShell = CreateObject("WScript.Shell") 
oShell.AppActivate("Opening Problems") 
WScript.Sleep 500 
oShell.SendKeys "~" 
+1

問題是什麼? – 2015-02-08 16:41:07

+0

嗨,感謝您的快速評論我正在運行上面提到的使用.bat的代碼。但它不起作用「\t WScript」%〜dp0 \ close.vbs「」 – 2015-02-08 16:59:00

+0

你應該更新問題。它不工作是不夠的!描述問題是什麼。例如。它找不到腳本,沒有輸出等。 – 2015-02-08 17:03:04

回答

1

這是一個時間問題。在vbs腳本中添加WScript.Sleep 2000做了以下工作:

WScript.Sleep 2000 
Set oShell = CreateObject("WScript.Shell") 
oShell.AppActivate("Opening Problems") 
oShell.SendKeys "~" 
+0

嗨有可能將這四行直接添加到批處理腳本。而不是調用它? – 2015-02-09 18:09:20