当我尝试在C#中调用可执行文件时,系统无法找到指定的文件

时间:2013-12-11 21:16:47

标签: c# ssis winscp

我在SSIS中运行C#脚本。 在该脚本中,我正在尝试调用位于以下目录中的winSCP.com:“C:\ Program Files(86)\ WinSCP \”

但是当我尝试运行代码时,它总是会立即失败 这是我的代码。我做错了什么?

// Run hidden WinSCP process

Process winscp = new Process();
winscp.StartInfo.WorkingDirectory = "C:\\Program Files (x86)\\WinSCP\\";
winscp.StartInfo.FileName = "winSCP.com";
winscp.StartInfo.UseShellExecute = false;
winscp.StartInfo.RedirectStandardInput = true;
winscp.StartInfo.RedirectStandardOutput = true;
winscp.StartInfo.CreateNoWindow = true;
winscp.Start();
  

错误:“System.ComponentModel.Win32Exception:系统找不到System.Diagnostics.Process.StartWithCreateProcess(ProcessStartInfo startInfo)中指定的文件”

2 个答案:

答案 0 :(得分:1)

winscp.StartInfo.FileName = "C:\\Program Files (x86)\\WinSCP\\WinSCP.com";

答案 1 :(得分:0)

当你不使用shell执行时。您必须使用执行文件的完整路径。因为在这种情况下,工作目录不是相对路径的基本目录。但只是执行文件的工作文件夹。