如何在进程中使用systeminfo.exe命令行?
问题描述:
我有这样的代码:如何在进程中使用systeminfo.exe命令行?
private void SysInfo32()
{
Process proc = new Process();
proc.EnableRaisingEvents = true;
proc.StartInfo.UseShellExecute = false;
proc.StartInfo.FileName = "systeminfo.exe";
proc.StartInfo.CreateNoWindow = true;
proc.StartInfo.Arguments = "systeminfo.exe>" + "\"" + contentDirectory + "\\systeminfo.txt" + "\"";
proc.Start();
proc.WaitForExit();
proc.Close();
}
的内容目录为:C:\用户\ bout0_000 \应用程序数据\本地\ Diagnostic_Tool_Blue_Screen \诊断工具蓝屏\ SF_28-07-13
,我想的是, systeminfo.txt会在里面:SF_28-07-13
但是这个文件永远不会在这个目录下创建。
我使用的参数相同,因为我与MSINFO32.EXE及其与Msinfo.exe
private void MsInfo()
{
Process proc = new Process();
proc.EnableRaisingEvents = true;
proc.StartInfo.UseShellExecute = false;
proc.StartInfo.FileName = "msinfo32.exe";
proc.StartInfo.CreateNoWindow = true;
proc.StartInfo.Arguments = "/nfo " + "\"" + contentDirectory + "\\msinfo.nfo" + "\"";
proc.Start();
proc.WaitForExit();
proc.Close();
}
所以工作做了,我不明白为什么它不与systeminfo.exe工作?
我使用的命令行“>”作为参数,把它从这个网站:
http://www.worldstart.com/generate-a-system-info-text-file/
答
与此
private void SysInfo32()
{
Process proc = new Process();
proc.EnableRaisingEvents = true;
proc.StartInfo.UseShellExecute = false;
proc.StartInfo.FileName = "cmd.exe";
proc.StartInfo.CreateNoWindow = true;
proc.StartInfo.WorkingDirectory = contentDirectory;
proc.StartInfo.Arguments = "/C systeminfo.exe> sysinfo.txt";
proc.Start();
proc.WaitForExit();
proc.Close();
}
试试你为什么还在坚持使用那个丑陋的语法包括具有空格的目录,当您可以轻松使用WorkingDirectory属性获取相同的结果时,我不清楚