【发布时间】:2016-01-22 00:59:35
【问题描述】:
如何将环境变量作为参数传递给 System.Diagnostics.Process()?由于某种原因,使用可变路径失败。 例如,我试图在路径 %windir% 处打开资源管理器,但失败:
程序:explorer.exe 参数:/n,/e,%windir%
var f = new System.Diagnostics.Process();
f.StartInfo.WorkingDirectory = Path.GetDirectoryName(Program);
f.StartInfo.FileName = Program;
f.StartInfo.Arguments = !string.IsNullOrWhiteSpace(Params) ? Params : null;
f.Start();
【问题讨论】:
-
解释 %windir% 是命令处理器 Cmd.exe 的工作。您现在必须自己做,使用 Environment.GetFolderPath()。或者使用 Cmd.exe、/c 命令行选项。
标签: c# environment-variables system.diagnostics