AIR - 批处理文件作为CMD.exe参数

时间:2010-10-18 01:21:21

标签: process batch-file air native cmd

AIR不允许直接将.bat文件作为本机进程启动,所以显然我假设将CMD.exe设置为我的startupInfo可执行文件并传递我的.bat文件及其参数。

我无法让它工作,所以我希望这是一个语法问题。这是我的代码:

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);

批处理文件及其参数如果我在命令行提示符中手动编写它们工作正常,所以我不知道为什么从AIR启动时没有发生任何事情。

1 个答案:

答案 0 :(得分:1)

好的,我认为到现在(3个月后)你已经意识到这不起作用,因为你的bat文件路径包含空格。 您找到任何解决方法或解决方案吗?

我有一个很好的近似值,对你来说足够了:

不是将参数传递给你的bat,而是尝试通过stdinput写入它。 我的意思是,不是在调用你的bat时传递参数,而是将该信息视为执行中的变量读取。