此代码曾经在安装它的 C 驱动器上运行。我们将其移至 UNC 路径\share,现在它似乎没有重新加载配置文件。没有错误,Filezilla 工作正常,因为我可以在此 UNC 共享上连接和传输文件,但从代码中我无法让它真正执行它应该执行的操作。我需要做一些特殊的凭证吗?我的网站应用程序池的用户帐户与共享帐户相同。
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
最佳答案
UNC 路径中的第一对反斜杠未正确转义,将导致单个反斜杠。尝试一下
Process.Start("CMD.exe", "/C \"\\\\filezilla\\FileZilla Server.exe\" /reload-config");
您可以在 MSDN 查看示例
string g = "\\\\server\\share\\file.txt"; // \\server\share\file.txt
string h = @"\\server\share\file.txt"; // \\server\share\file.txt
关于c# - Process.Start 不适用于 Filezilla 的 UNC 路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36510316/