我需要用一些參數啓動命令窗口並在其中運行更多命令。啓動命令窗口並在裏面運行命令
例如,啓動test.cmd並運行mkdir。
我可以用processstartinfo啓動test.cmd,但我不知道如何運行更多的命令。我可以將更多參數傳遞給test.cmd進程嗎?
我該如何解決這個問題?
無法添加評論來回答...所以寫在這裏。
Andrea,這就是我一直在尋找的東西。然而,上面的代碼不適合我。
我正在啓動一個test.cmd,它是新的命令環境(如razzle構建環境),我需要運行更多的命令。
psi.FileName = @"c:\test.cmd";
psi.Arguments = @"arg0 arg1 arg2";
psi.RedirectStandardInput = true;
psi.RedirectStandardOutput = true;
psi.CreateNoWindow = true;
psi.UseShellExecute = false;
Process p = new Process();
p.StartInfo = psi;
p.Start();
p.StandardInput.WriteLine(@"dir>c:\results.txt");
p.StandardInput.WriteLine(@"dir>c:\results2.txt");
我認爲你必須要離開PSI .FileName和psi.Arguments在我的代碼中,只是做一個p.StandardInput.WriteLine(@「c:\ test.cmd arg0 arg1 arg2」); – 2010-09-01 18:00:11
謝謝我試過了,它工作。但是,有了這個我試圖讀取控制檯日誌,它不會返回我需要的輸出。這是我的完整代碼,以供澄清。 我期待的是command123的輸出。 – user393148 2010-09-01 19:58:03
進程p = new Process(); p.StartInfo = psi; p.Start(); p.StandardInput.WriteLine(@「c:\ test。CMD ARG1 ARG2 &&坎德拉/ DC:\ TESTDIR \樣品&& command123/C 「); p.StandardInput.WriteLine(@」 退出「); 串輸出= p.StandardOutput.ReadToEnd(); p.WaitForExit (); – user393148 2010-09-01 19:59:12