2013-03-27 25 views
0

我有一個腳本,看起來像這樣:多行命令使用runwait時,%COMSPEC%/ C%mycmd%>%登錄%

tempLog = %temp%\tmp_ahklog.txt 
Loc = C:\ 
mycmd = ver 
runwait,%comspec% /c %mycmd% >%tempLog%, %Loc% 

IfExist, %tempLog% 
    run, Notepad.exe %tempLog% 

如何讓這個我可以輸入多個命令行?例如,我想運行verwhoami,並且將兩個命令的返回都放在文本文件中。謝謝。

回答

0

難道你不能只運行你的命令兩次,並將兩個結果管道到同一個txt文件?你的/ c是正確的,所以運行這個不應該保持CMD盒子打開(驗證)。第一個>創建一個空白%templog%文件,第二行中的>>添加到%templog%文件中。我過去通過使用不帶%comspec%的runwait執行DOS命令,但是這些DOS命令存儲在一個.bat文件中,所以我實際上運行了:runwait, abc.bat,它短暫地打開一個CMD框,並在.bat腳本立即關閉它已完成。

tempLog = C:\Temp\tmp_ahklog.txt 
RunWait, %comspec% /c whoami > %tempLog% 
RunWait, %comspec% /c ver >> %tempLog % 
IfExist, %tempLog% 
    run, Notepad.exe %tempLog% 

你甚至可以同時結合了DOS在這樣一行命令:

RunWait, %comspec% /c whoami > C:\Temp\Cmd.txt && ver >> C:\Temp\Cmd.txt 
+0

我想我可以。我想我沒有提到我不希望所有的cmd窗口都彈出來。每當'runwait'行運行時,都會打開一個新的cmd窗口。 – bonniehandi 2013-03-28 00:44:10

+0

我很抱歉,你的意思是我應該這樣做'runwait,%comspec%%mycmd%>%tempLog%,%Loc%' – bonniehandi 2013-03-28 16:03:34