Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/302.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/reporting-services/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 从.NET应用程序调用命令行_C#_.net_Command Line - Fatal编程技术网

C# 从.NET应用程序调用命令行

C# 从.NET应用程序调用命令行,c#,.net,command-line,C#,.net,Command Line,我想从一个c#应用程序调用一个命令行,从它开始调用一个应用程序并从中检索stat 我这样做了,但缺少了一些东西: ProcessStartInfo psf = new ProcessStartInfo("cmd.exe", "/C time"); psf.WindowStyle = ProcessWindowStyle.Hidden; psf.RedirectStandardOutput = true; psf.UseShellExecute = false; psf.CreateNoWindo

我想从一个c#应用程序调用一个命令行,从它开始调用一个应用程序并从中检索stat

我这样做了,但缺少了一些东西:

ProcessStartInfo psf = new ProcessStartInfo("cmd.exe", "/C time");
psf.WindowStyle = ProcessWindowStyle.Hidden;
psf.RedirectStandardOutput = true;
psf.UseShellExecute = false;
psf.CreateNoWindow = true;
Process p = Process.Start(psf);
StreamReader sr = p.StandardOutput;
p.WaitForExit();

有什么问题吗?

尝试传递/c时间/t而不是/c时间。

尝试传递/c时间/t而不是/c时间。

要获取系统时间,我建议您使用以下结构:

string time = DateTime.Now.ToString("hh:mm:ss.fff");
Console.WriteLine(time);

要获得系统时间,我建议您使用以下结构:

string time = DateTime.Now.ToString("hh:mm:ss.fff");
Console.WriteLine(time);

cmd/c Time
需要用户输入。除非您提供一些输入,否则它不会关闭。在您的情况下,您正在隐藏命令窗口。这使它看起来像一个输入在隐藏窗口中挂起。你想让代码做什么?我不想更改时间,只从这个应用程序获取时间。你不能使用
DateTime。现在
?在这种情况下,使用
cmd/c time/t
,正如@Lukas所说。
cmd/c time
需要用户输入。除非您提供一些输入,否则它不会关闭。在您的情况下,您正在隐藏命令窗口。这使它看起来像一个输入在隐藏窗口中挂起。你想让代码做什么?我不想更改时间,只想从这个应用程序中获取它。你不能使用
DateTime。现在
?在这种情况下,使用@Lukas说过的
cmd/c time/t
。是的,我得到了数据。你做了什么?我怎样才能获得毫秒数呢?正如上面所述,如果没有/t,命令会要求输入。但我认为“time”命令不支持毫秒。这一点以前也说过,但是为什么不简单地使用DateTime。现在呢?我需要检查这个选项和DateTime对象之间的差异,以及其他东西。谢谢使用“echo%time%”而不是“/c time/t”怎么样?你能改用它吗?是的,试试新的ProcessStartInfo(“cmd.exe”,“/C echo%time%”)-这会产生类似“10:32:41,18”的输出,这几乎就是你所需要的。是的,我得到了数据。你做了什么?我怎样才能获得毫秒数呢?正如上面所述,如果没有/t,命令会要求输入。但我认为“time”命令不支持毫秒。这一点以前也说过,但是为什么不简单地使用DateTime。现在呢?我需要检查这个选项和DateTime对象之间的差异,以及其他东西。谢谢使用“echo%time%”而不是“/c time/t”怎么样?可以改用它吗?是的,尝试使用新的ProcessStartInfo(“cmd.exe”,“/C echo%time%”)-这会产生类似“10:32:41,18”的输出,这几乎就是您所需要的。我需要使用shell和time,而不是datewtime对象。我需要使用shell和time,而不是datewtime对象