C# 用C语言模拟批处理文件#
我有一个运行这四个命令的批处理文件C# 用C语言模拟批处理文件#,c#,batch-file,C#,Batch File,我有一个运行这四个命令的批处理文件 vsinstr -coverage hello.exe vsperfcmd /start:coverage /output:run.coverage hello vsperfcmd /shutdown 如何使用C#运行这四个命令?使用运行命令 示例 使用overrideProcess.Start(字符串文件名、字符串参数) 将这些命令添加到批处理文件中,并使用下面的代码运行它 ProcessStartInfo startInfo; System.Diag
vsinstr -coverage hello.exe
vsperfcmd /start:coverage /output:run.coverage
hello
vsperfcmd /shutdown
如何使用C#运行这四个命令?使用运行命令
示例
使用overrideProcess.Start(字符串文件名、字符串参数)
将这些命令添加到批处理文件中,并使用下面的代码运行它
ProcessStartInfo startInfo;
System.Diagnostics.Process batchExecute;
startInfo = new ProcessStartInfo("batchFilePath");
startInfo.CreateNoWindow = true;
startInfo.WindowStyle = ProcessWindowStyle.Hidden;
startInfo.UseShellExecute = true;
startInfo.Verb = "runas";
batchExecute = new System.Diagnostics.Process();
batchExecute.StartInfo = startInfo;
batchExecute.Start();
batchExecute.WaitForExit();
既然已经有了批处理文件,为什么不从C#运行它,而不是从C#运行其中的命令呢?例如:Bah!你赢了我!:)用一个例子编辑了你的答案。@Filip:你比我更快地完成了这个例子,我刚想发布一些(我忘了它是什么语言,用VB写的,然后花了一点时间加载在线转换器等)。谢谢。将
Verb
设置为“runas”
将运行提升的进程,包括任何必要的UAC提示。如果不需要提升,请不要设置此属性(或将其设置为“打开”)。
ProcessStartInfo startInfo;
System.Diagnostics.Process batchExecute;
startInfo = new ProcessStartInfo("batchFilePath");
startInfo.CreateNoWindow = true;
startInfo.WindowStyle = ProcessWindowStyle.Hidden;
startInfo.UseShellExecute = true;
startInfo.Verb = "runas";
batchExecute = new System.Diagnostics.Process();
batchExecute.StartInfo = startInfo;
batchExecute.Start();
batchExecute.WaitForExit();