Skip to main content
Inspiring
July 10, 2013
Question

NativeProcess and cmd loop

  • July 10, 2013
  • 0 replies
  • 793 views

Hello,

cmd loop doesn't work correctly

file = file.resolvePath("C:\\Windows\\System32\\cmd.exe");

nativeProcessStartupInfo.executable = file;

process.addEventListener(ProgressEvent.STANDARD_OUTPUT_DATA, onOutputData);

process.addEventListener(ProgressEvent.STANDARD_ERROR_DATA, onError);

process.addEventListener(NativeProcessExitEvent.EXIT, exitHandler);

process.start(nativeProcessStartupInfo);

process.standardInput.writeUTFBytes('for /f "TOKENS=1" %%i in (\'"wmic Process where (Name="cmd.exe") GET processid | findstr [0-9]"\') do call :concat %%i' + "\n");

process.standardInput.writeUTFBytes('goto :fin' + "\n");

process.standardInput.writeUTFBytes(':concat' + "\n");

process.standardInput.writeUTFBytes('set str=%str%,%1' + "\n");

process.standardInput.writeUTFBytes('goto :eof' + "\n");

process.standardInput.writeUTFBytes(':fin' + "\n");

process.standardInput.writeUTFBytes('@echo pid%str%' + "\n");

public function onOutputData(event:ProgressEvent):void

{

var stdOut:IDataInput = process.standardOutput;

var data:String = stdOut.readUTFBytes(process.standardOutput.bytesAvailable);

are.appendText(data+"\n");

}

the cmd echo returns "pid%str%,%1"

Thanks

This topic has been closed for replies.