如何使用参数运行外部命令
本文关键字:外部 命令 运行 参数 何使用 | 更新日期: 2023-09-27 18:13:42
转换
%systemroot%'system32'dism.exe /Online /Add-Package /PackagePath:%systemdrive%'temp'IE-Win7.CAB /quiet /norestart
我试过了,但不起作用。
runProgram("dism.exe", "'"" + workingDir + "/Online /Add-Package ''IE-Win7.CAB'" /quiet /norestart /log:'"" + LogFolder + "''IE-Win7.CAB.evtx'"");
下面只是我正在使用的一个示例程序,它有一行也记录它
runProgram("wusa.exe", "'"" + workingDir + "''Windows6.1-KB2882822-x86.msu'" /quiet /norestart /log:'"" + LogFolder + "''Windows6.1-KB2882822-x86.evtx'"");
背景
该程序基本上调用要安装的.msu文件并记录事件。
var sys_root = Environment.ExpandEnvironmentVariables("systemroot");
var dism_path = $"{sys_root}'system32'dism.exe";
var sys_drive = Environment.ExpandEnvironmentVariables("systemdrive");
var args = $"/Online /Add-Package /PackagePath:'"{sys_drive}'temp'IE-Win7.CAB'" /quiet /norestart"
var proc = Process.Start(dism_path, args);
这扩展了您在原始调用中使用的环境变量,使用C#插值语法将它们插入到可以传递给Process的两个字符串中。开始(字符串,字符串(,以执行该行。当然,我不想亲自测试。