此代码以下用于安装它的C盘。我们将它移动到UNC路径\ share,现在它似乎没有重新加载配置文件。没有错误,Filezilla工作得很好,因为我可以在这个UNC Share上连接和传输文件,但是从代码中我无法实现它实际上已经做的假设了。我需要明智地做任何特殊凭证吗?我的网站应用程序池的用户帐户与共享相同。
Process.Start("CMD.exe", "/C \"\\filezilla\\FileZilla Server.exe\" /reload-config");
更新
我从实际计算机上的命令提示符处运行了这一行,它完成了它的设想。
另一次更新
var path = string.Format("/C \"{0}FileZilla Server.exe\" /reload-config", Config.Paths.FileZillaPath); // \\filezilla\
Process.Start("CMD.exe", path);
Logger.Debug("Path: " + path); // Path: /C "\\filezilla\FileZilla Server.exe" /reload-config
答案 0 :(得分:10)
UNC路径中的第一对反斜杠未正确转义,将导致单个反斜杠。尝试
Process.Start("CMD.exe", "/C \"\\\\filezilla\\FileZilla Server.exe\" /reload-config");
您可以在MSDN
查看示例string g =" \\\\ server \\ share \\ file.txt&#34 ;; // \\ server \ share \ file.txt
string h = @" \\ server \ share \ file.txt&#34 ;; // \\ server \ share \ file.txt
答案 1 :(得分:3)
我做过类似的事,但就像这样...
Process reloadConfig = new Process();
reloadConfig.StartInfo.FileName = @"\\MachineName\FileZilla Server\FileZilla Server.exe\";
reloadConfig.StartInfo.Arguments = @"/reload-config";
reloadConfig.Start();
这对我有用。