Process.Start不使用UNC路径到Filezilla

时间:2016-04-08 22:28:53

标签: c# azure command-line file-permissions unc

此代码以下用于安装它的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

2 个答案:

答案 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();

这对我有用。