是否可以将参数传递给c#中的文件夹或文件

时间:2018-01-08 16:26:54

标签: c# windows command-line parameters

我知道您可以在将参数传递给它们时启动批处理文件(.bat)和可执行文件(.exe)。但是,我想知道是否可以直接将参数发送到其他类型的文件(例如.docx或.txt)或甚至特定文件夹(例如最大化它)。

c#代码是这样的:

string targetPath= "something";
Process proc = new Process();
proc.StartInfo.WorkingDirectory = Path.GetDirectoryName(targetPath);
proc.StartInfo.FileName = Path.GetFileName(targetPath);
proc.StartInfo.Arguments = "param1 param2";
proc.StartInfo.CreateNoWindow = false;
proc.Start();

1 个答案:

答案 0 :(得分:0)

文件和文件夹无法接收命令行参数。

文件和文件夹不是程序,它们不会在命令行上收到任何内容。如果启动cmd.exe并键入mytextfile.txt,则Windows将启动与.txt扩展名关联的默认程序,并将mytextfile.txt的路径作为命令行参数。这是cmd.exe的一项功能。如果您尝试使用FileName指向不可执行文件的Process.Start(),则会抛出异常。

最大化窗口可以通过Windows C api的ShowWindow()功能完成。在c#中使用它需要p / Invoke。