Process.start 以应用程序和文件名作为变量

问题描述

一直在搜索,但令人惊讶的是找不到这个特定问题:

使用 C#,我想(通过单击表单中的按钮)使用某个应用程序运行某个文件

当使用“Process.start(variable)”时,我只能选择两者之一。

通过使用“Process.startinfo.filename”(如:https://docs.microsoft.com/en-us/dotnet/api/system.diagnostics.processstartinfo.filename?view=net-5.0),情况似乎也是如此。

难道不能以某种“简单”的方式将两者结合起来吗?

谢谢。

解决方法

通常,您会使用命令参数(即“notepad.exe file.txt”)运行带有应用程序的文件。

如果您尝试启动的应用程序可以这样做,那么您只需将 FilenameStartInfo 属性设置为名称(如果在 PATH 中),或者应用程序的完整路径和文件路径的 Arguments 属性。

var process = new Process();
process.StartInfo.FileName = "notepad.exe";
process.StartInfo.Arguments = "C:\\{pathToFile}\\file.txt";
process.Start();

上面的代码将启动记事本打开 file.txt。您可以简单地将 FileNameArguments 替换为包含应用程序和文件路径的变量。