我一直在使用Process.Start来启动可执行文件(.exe)文件。现在我需要用一些参数执行.pl文件。我仍然可以使用Process.Start或者我需要一种不同的方法吗?
编辑: - 当我尝试从CSharp代码调用perl文件时遇到以下错误时,我必须将此问题标记为未答复: - (当我从具有相同路径和参数的命令行,它工作正常)
System.ApplicationException:StartProcess失败 System.ComponentModel.Win32Exception:指定的可执行文件不是此OS平台的有效应用程序)
请注意,当我尝试从我的C#代码调用.exe文件时,我没有看到上述错误。
修改: - 立即检查以下链接: - How do I call Perl script in C# application? 似乎ProcessStartInfo构造函数有两个参数 - fileName和参数。您应该将Perl.exe设置为fileName,并且“argument”将是您的perl文件(.pl)以及它接受的其他参数。现在检查....
答案 0 :(得分:2)
你当然可以:)你也可以通过在
中的文件名之后添加它们来传递它Process.Start(file.pl args1 args 2);
它将使用您的.pl文件的默认应用程序加载文件,另一个选项是指定软件然后将您的文件作为参数传递,只要您拥有正确的软件来处理文件就应该没问题
Process.Start()可以指向任何文件,它将使用默认软件或您指定的软件打开,它不必是可执行文件。
答案 1 :(得分:1)
是的,你可以,Process.Start()接受一个字符串参数,你为这个参数传递的内容与你在windows start中输入相同字符串所做的完全相同 - >运行对话框。