2
我想發送帶參數的命令並從cmd中讀取它們的答案。所以,我寫了下面的代碼,但它不工作並鎖定在屏幕上(myString通常爲空 - 「」)。我只想將命令發送到打開的命令提示符。哪裏有問題?提前致謝。 (例如:怎樣取ping請求的結果?)發送cmd命令並在C#中讀取結果
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Diagnostics;
using System.IO;
namespace CallBatchFile
{
class Program
{
[STAThread]
static void Main()
{
Process p = new Process();
p.StartInfo.FileName = "cmd.exe";
p.StartInfo.Arguments = "/c date";
p.StartInfo.UseShellExecute = false;
p.StartInfo.RedirectStandardError = true;
p.StartInfo.CreateNoWindow = true;
p.StartInfo.RedirectStandardOutput = true;
p.Start();
string myString = p.StandardOutput.ReadToEnd();
p.WaitForExit();
}
}
}
[Q1](http://stackoverflow.com/questions/11060019/command-prompt-output-being-read-as-empty-string)[Q2](http://www.codeproject.com/Articles/ 16081/CommandLineHelper-class-to-launch-console-applicat)可能會有所幫助。 –
嘗試此代碼並按預期工作。但是,如果沒有/ T標誌,命令shell會提示您插入新的日期。 – Steve