당신은 "&"각 명령을 연결합니다 : 프로세스가
을 실행하는 동안 다음 내 코드가 추가 인수를 보낼 수 있다면 난 몰라 확인합니다. 예를 들어 "cmd/k echo test 1 & echo test 2"와 같이 입력하십시오.
편집 :이 같은 기술을 사용하여 다시는 당신이 웹 포털을 통해 원격 컴퓨터에 대한 배치 및 PowerShell에서 스크립트를 실행할 수 있도록하면서
나는 원격 제어/원격 관리 솔루션 a를 만들었습니다. 아래 스크린 샷과 같이 작동합니다.
명령을 실행하는 C#을 여기에서 찾을 수있다 : https://github.com/Jay-Rad/InstaTech_Client/blob/master/InstaTech_Service/Socket.cs#L614
if (cmdProcess == null || cmdProcess.HasExited)
{
var psi2 = new ProcessStartInfo("cmd.exe", "/k " + command);
psi2.RedirectStandardOutput = true;
psi2.RedirectStandardInput = true;
psi2.RedirectStandardError = true;
psi2.UseShellExecute = false;
psi2.WorkingDirectory = Path.GetPathRoot(Environment.SystemDirectory);
cmdProcess = new Process();
cmdProcess.StartInfo = psi2;
cmdProcess.EnableRaisingEvents = true;
cmdProcess.OutputDataReceived += async (object sender, DataReceivedEventArgs args) =>
{
jsonMessage.Status = "ok";
jsonMessage.Output = args.Data;
await SocketSend(jsonMessage);
};
cmdProcess.ErrorDataReceived += async (object sender, DataReceivedEventArgs args) =>
{
jsonMessage.Status = "ok";
jsonMessage.Output = args.Data;
await SocketSend(jsonMessage);
};
cmdProcess.Start();
cmdProcess.BeginOutputReadLine();
cmdProcess.BeginErrorReadLine();
}
else
{
cmdProcess.StandardInput.WriteLine(command);
}
은 표준 입력 리디렉션하고 문자열 피드. –
RedirectStandardInput = true이고 p.StandardInput 스트림에 문자열을 씁니다. – Arthur
이 기술을 사용해 보겠습니다. –