AIR - командный файл как аргумент CMD.exe

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.


person Chunky Chunk    schedule 18.10.2010    source источник
comment
возможно, он работает из обычного каталога, не являющегося пользователем, c: \ Test? Также arg5 не имеет разделителей   -  person Preet Sangha    schedule 18.10.2010
comment
добавление кавычек к аргументу 5 не помогло.   -  person Chunky Chunk    schedule 18.10.2010


Ответы (1)


Хорошо, я думаю, что к настоящему времени (3 месяца спустя) вы поняли, что это не работает, потому что ваш путь к файлу bat содержит пробелы. Вы нашли обходной путь или решение или что-то в этом роде?

У меня есть хорошее приближение, которого вам может хватить:

Вместо того, чтобы передавать параметры вашей летучей мыши, попробуйте записать в нее через стандартный ввод. Я имею в виду, что вместо передачи параметров при вызове летучей мыши рассматривайте эту информацию как переменную, читаемую в процессе выполнения.

person Raul    schedule 03.01.2011