我目前正在使用AutoIt編寫命令行應用程序,並且無法使其打印回到打開它的同一命令行。我的目標是讓整個程序在一個shell中工作。以下是我試過最初:如何在不使用AutoIt命令行打開新shell的情況下運行命令
;myprogram.au3
$MyCommand = 'dir'
Run(@ComSpec & " /c " & $MyCommand, @SystemDir, @SW_Show)
Run(@ComSpec & " /c @echo off && echo Command completed successfully. && @echo on", @SystemDir, @SW_Show)
然後我編譯它,並通過命令行運行它(每個代碼框代表一個新的shell):
C:\Users\Matthew>myprogram.au3
C:\Users\Matthew>
打開新的外殼 ↓
Volume in drive C has no label.
Volume Serial Number is 0287-990C
Directory of C:\Users\Matthew
<Finishes normal dir command output>
一旦完成,我的目錄中列出的文件退出,並且
打開新的外殼 ↓
The command completed successfully.
而且該窗口馬上關閉。
我要找的輸出是同樣的事情,但在一個窗口中,像這樣:
標籤,這在顯示輸出方面奇妙地工作,但不幸的是仍然不能在同一個shell中運行命令,只是顯示輸出。這很重要,因爲一些命令,例如啓動管理提示的「runas/noprofile/user:Administrator cmd.exe」,需要一個提示密碼,該密碼不能通過命令本身傳遞。爲此,我已將我的項目遷移到C++ – 2012-08-20 22:22:25
Matthew,對於runas命令,在AutoIt中有一個名爲RunAs的特殊函數,您可以在其中傳遞用戶名和密碼。 – 2014-07-17 09:03:38