2009-07-29 51 views
3

有沒有辦法將命令發送到另一個命令行程序?發送命令到其他命令行程序

是因爲我有一個特殊的命令行程序,但使用的語法我無法發送命令到它像program.exe something_to_do

程序執行是這樣的:(‘這裏的語法’是我想要的輸入文字也進入啓動)

TheWhateverCommandLineProgram 
Version 1.1 
Give an option: "here syntax" 

代碼程序看起來是這樣的:

echo TheWhateverCommandLineProgram 
echo Version 1.1 
Set opt= 
set /p opt=Give an option: 
if %opt%==command1 goto com1 
if %opt%==command2 goto com2 
... 

嗯,我想這樣會導致它不是我W¯¯ (順便說一句:當然它不叫TheWhateverCommandLineProgram)

+1

您可以更具體地瞭解問題所在。再多說一點關於你的「特殊命令行程序」是什麼,那就是你想做的事情。你想發送命令給一個已經運行的程序,或者只是用一組特定的選項啓動它? – 2009-07-29 08:32:32

回答

0

其他程序以什麼形式輸入?從命令提示符?

如果是後者的話,我推薦的AutoHotkey:http://www.autohotkey.com/

您可以使用AutoHotkey的橋樑和它將作爲按鍵發送命令到其他批處理文件的窗口。

你可以在他們的論壇尋求幫助。他們相當有幫助。

+0

但它不具有條命令行版本:(我不希望用戶必須輸入這些命令:S。 – 2009-07-29 08:39:22

+0

用戶將不必鍵入命令的AutoHotkey會做打字閱讀它的教程 – 2009-07-29 08:48:24

1

我不是100%確定我明白你在找什麼。這裏有兩個選項:

  1. 你有兩個窗口,每個窗口運行一個批處理程序。假設他們被稱爲myscript1.batmyscript2.bat。你想從myscript1.bat發送一組命令由myscript2.bat

  2. 執行您有一個名爲myscript.bat一個批處理腳本,它執行命名program.exe一個程序。你想要program.exe執行一些命令,或者做一些事情。

這些都是你要找的嗎?這裏的一些想法:

  1. myscript1.bat創建第三個文件,mycommands.bat。一旦myscript2.bat看到文件mycommands.bat存在,它將執行並刪除它。 (Wow。Lame。)

  2. 使用Windows腳本宿主命令(它自Win2K以來內置於Windows)或Powershell(通常在現今大多數計算機上,如果它們已被更新)。這些中的任何一個都可以將按鍵發送到另一個程序。使用這些擊鍵,您可以控制其他程序。

3

如果你只是想給鍵盤輸入一個命令行程序,你可以只使用echo和管道它:

echo some text | program.exe 

如果您需要更多的線,然後將它們寫入一個文件,並使用輸入重定向:

echo one line > file 
echo second line >> file 
program.exe < file