2013-12-11 57 views
1

我正在SSIS中运行C#脚本。 在该脚本中,我试图调用位于以下目录中的winSCP.com:“C:\ Program Files(86)\ WinSCP \”当我尝试调用C#中的可执行文件时,系统找不到指定的文件

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

// 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(); 

The Error: "System.ComponentModel.Win32Exception: The system cannot find the file specified at System.Diagnostics.Process.StartWithCreateProcess(ProcessStartInfo startInfo)"

回答

1

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

+2

虽然这可能是正确的答案,请提供解释为什么这将解决问题 – billinkc

+0

谢谢。我注释掉了StartInfo.WorkingDirectory行,并添加了你的答案中显示的完整路径。 – Hotelsinger

0

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

相关问题