繁体   English   中英

Process.Start in C# 系统找不到指定的文件错误使用变量名

[英]Process.Start in C# The system cannot find the file specified error using a variable name

我正在从传递给应用程序的参数在 c# 中启动进程。
参数被放入变量中,然后传递给流程开始。

                    ProcessStartInfo startInfo = new ProcessStartInfo();
                    startInfo.FileName = FileName;
                    startInfo.WorkingDirectory = Path.GetDirectoryName(FileName);
                    startInfo.Arguments = Arguments;
                    startInfo.ErrorDialog = true;
                    startInfo.UseShellExecute = false;
                    startInfo.RedirectStandardOutput = true;
                    startInfo.RedirectStandardError = true;
                    Process proc = Process.Start(startInfo);

我曾尝试在路径中使用单斜杠和双斜杠,但仍然出现相同的错误。 这是一个日志文件(忽略日期和双等号)路径是每个测试包含的变量。 我试过双斜线和单斜线。

attempt 1
C:\\Program Files\\Internet Explorer
C:\\Program Files\\Internet Explorer\\iexplore.exe

attempt 2
C:\Program Files\Internet Explorer
C:\Program Files\Internet Explorer\iexplore.exe

我还尝试在 FileName 变量前面添加一个“@”,希望这可能会有所帮助(没有)任何人对为什么看不到文件有任何想法?

这些参数通过协议处理程序(HTML 页面)传递,路径中的空格被替换,然后被删除并替换为应用程序中的空格。 出于某种原因,即使文件名在应用程序中看起来正确但从未见过该文件,替换也不能完全起作用。 我删除了 并替换为 HTML 中调用协议处理程序的空格(不需要它们),现在可以正确看到文件。 不知道为什么他们会这样开始,除非注册表中的命令行脚本在 %1 参数周围没有引号

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM