使用ProcessStartInfo参数挑战ncftpget

时间:2013-01-28 20:13:44

标签: c# tsql processstartinfo

有几个解决方案可以解释如何将多个参数传递给ProcessStartInfo以运行带有多个参数的DOS命令。在这种特殊情况下,它们都不起作用。

尝试从c#应用程序内部运行ncftpget - 使用精确的字符串文字(@“arg1 arg2 arg3”)将多个参数传递给可执行文件。

正在发生的事情是,参数列表足够长,以至于它被截断,但不是我期望的结果(最后)。

所以我传递的内容如下:

Program = "ncftpget"
Arguments = @"-f host.cfg D:\ServerBackups\Windows6 2012_01_28_SQLBackupFile.bak"

ncftp得到的是

-f host.cfg D:\ServerBackups\Windows6 ackupfile.bak

如果不是直接调用ncftpget,而是编写一个bat文件并执行它,它可以工作。

奇怪的是,从使用XP_CMDShell的T / SQL开始 - 我使用的参数调用ncftpget比这要长得多。就好像有一些环境变量说“参数只能这么长,我将从头开始截断它们,而不是结束”

我试过引用参数,没有区别,同样的行为。

当然,如果微软实际上有一个不错的ftp解决方案......使用了正确的模式......但这是一个他们永远无法解决的旧咆哮。

0 个答案:

没有答案