Tom*_*len 2 c# command-line command-prompt
我不能让它返回任何东西,我期待当前目录中的文件列表,但它什么也没有返回.
class Program
{
static void Main(string[] args)
{
PublishProject();
Console.ReadLine();
}
public static void PublishProject()
{
//Create process
var pProcess = new System.Diagnostics.Process
{
StartInfo =
{
FileName = "cmd.exe",
Arguments = "dir",
UseShellExecute = false,
RedirectStandardOutput = true,
WorkingDirectory = "C:\\"
}
};
pProcess.Start();
Console.Write(pProcess.StandardOutput.ReadToEnd());
pProcess.Close();
Console.WriteLine("done");
}
}
Run Code Online (Sandbox Code Playgroud)
您可以通过更改Arguments为:
Arguments = "/C dir",
Run Code Online (Sandbox Code Playgroud)
的/ C标志 "执行字符串指定的命令,然后停止.".如果没有这个,cmd仍然在执行,这就是为什么你没有立即输出.
话虽这么说,对于这个例子,我个人会使用Directory.GetFiles或Directory.EnumerateFiles而不是进程.