2010-10-18 32 views
1

AIR不允許直接啓動.bat文件作爲本地進程,所以顯然我想將CMD.exe設置爲我的startupInfo可執行文件並傳遞我的.bat文件,它是參數。AIR - 批處理文件作爲CMD.exe參數

我不能得到它的工作,所以我希望這是一個語法問題。這裏是我的代碼:

var testStartupInfo:NativeProcessStartupInfo = new NativeProcessStartupInfo(); 
testStartupInfo.executable = new File("C:\\WINDOWS\\system32\\cmd.exe"); 

var processArguments:Vector.<String> = new Vector.<String>(); 
processArguments[0] = "/c"; 
processArguments[1] = "\"C:\\Documents and Settings\\Administrator\\Desktop\\Test\\Test.bat\""; 
processArguments[2] = "-testBatPeram1"; 
processArguments[3] = "-testBatPeram2"; 
processArguments[4] = "Peram3"; 
processArguments[5] = "C:\\Documents and Settings\\Administrator\\Desktop\\SaveText.txt"; 

testStartupInfo.arguments = processArguments; 

var test:NativeProcess = new NativeProcess(); 
test.start(testStartupInfo); 

批處理文件及其參數正常工作,如果我手動編寫他們在命令行提示符下,所以我不知道爲什麼從空中發射,當什麼也沒有發生。

+0

它從普通的非用戶目錄c:\ Test可能嗎?此外,arg5沒有「」分隔符 – 2010-10-18 01:57:55

+0

將引號添加到參數5沒有幫助。 – TheDarkIn1978 2010-10-18 02:30:45

回答

1

好吧,我認爲現在(3個月後)你已經意識到這不起作用,因爲你的bat文件路徑包含空格。 您是否找到任何解決方法或解決方案?

我有一個很好的近似,可以對您不夠:

取而代之的參數傳遞到你的蝙蝠試圖通過其stdinput寫它。 我的意思是,在調用你的蝙蝠時,不要傳遞參數,而應將該信息作爲執行中讀取的變量。

相關問題