c#执行cmd命令不工作
本文关键字:工作 命令 cmd 执行 | 更新日期: 2023-09-27 18:13:12
谁能建议为什么下面的代码不返回系统日期?
ProcessStartInfo cmdInfo = new ProcessStartInfo("cmd.exe", "net time ''192.168.221.1");
cmdInfo.CreateNoWindow = true;
cmdInfo.RedirectStandardOutput = true;
cmdInfo.RedirectStandardError = true;
cmdInfo.UseShellExecute = false;
Process cmd = new Process();
cmd.StartInfo = cmdInfo;
var output = new StringBuilder();
var error = new StringBuilder();
cmd.OutputDataReceived += (o, e) => output.Append(e.Data);
cmd.ErrorDataReceived += (o, e) => error.Append(e.Data);
cmd.Start();
cmd.BeginOutputReadLine();
cmd.BeginErrorReadLine();
cmd.WaitForExit();
cmd.Close();
var s = output;
var d = error;
输出{Microsoft Windows [Version 6.1.7601]Copyright (c) 2009 Microsoft Corporation. All rights reserved.D:'TEST'TEST'bin'Debug>}
试试这个
ProcessStartInfo cmdInfo = new ProcessStartInfo("cmd.exe", "/C net time ''''192.168.221.1");
您需要添加/C开关来捕获CMD shell中运行命令的输出。
此外,反斜杠应该加倍或使用字符串逐字前缀@