我有以下腳本:運行命令和cmd命令有什麼區別?
^!c::
Run stop
Return
停止配置爲通過環境變量來運行程序。
所以,如果我打開CMD,輸入「停止」並回車打開程序的意圖,即使我把WINKEY + [R它做同樣的事情。但是,如果我使用腳本ctrl + alt + c。我沒有得到相同的結果。
爲什麼腳本做了不同的事情?
我怎樣才能改變我的腳本的行爲方式相同,如果它是鍵入CMD或WINKEY + [R?
我有以下腳本:運行命令和cmd命令有什麼區別?
^!c::
Run stop
Return
停止配置爲通過環境變量來運行程序。
所以,如果我打開CMD,輸入「停止」並回車打開程序的意圖,即使我把WINKEY + [R它做同樣的事情。但是,如果我使用腳本ctrl + alt + c。我沒有得到相同的結果。
爲什麼腳本做了不同的事情?
我怎樣才能改變我的腳本的行爲方式相同,如果它是鍵入CMD或WINKEY + [R?
簡單:
run, %comspec% /c stop
或者,如果這不起作用,你可以只啓動一個cmd窗口,直接發送給
run, %comspec% /k
WinWait, %comspec%
WinActivate
Send stop{Enter}
/c
告訴控制檯窗口關閉後執行,/k
讓它保持開放
或者你可以使用一個COM對象甚至可以得到輸出。
objShell := ComObjCreate("WScript.Shell")
objExec := objShell.Exec(ComSpec " /c stop")
strStdOut := ""
while, !objExec.StdOut.AtEndOfStream
{
strStdOut := objExec.StdOut.ReadAll()
}
更新: 沒有運行命令不惜一切:
SetTitleMatchMode, 2
send #r
WinWait, TITLE_OF_THE_RUN_WINDOW
WinActivate
send cmd{Enter}
WinWait, cmd.exe
WinActivate
WinGetTitle, title
Send stop{Enter}
WinWait, %title%,,, stop
WinClose,
TITLE_OF_THE_RUN_WINDOW
的標題窗口,其中在Win + R打開替換此。一個Windows cmd窗口在它的標題被執行時有該命令。所以我們保存命令窗口的標題,並等待它放棄命令(「停止」),然後關閉它。
UPDATE:cmd窗口關閉加入溶液4
也許'下運行cmd/c stop' – wOxxOm
什麼的/ C呢?也沒有運氣 – Aequitas
是「停止」一個批處理文件嗎? 「配置」是什麼意思? – wOxxOm