我有一个C#进程需要读取远程服务器上共享目录中存在的文件。
以下代码会导致“共享不存在”。被写入控制台。
string fileName = "someFile.ars";
string fileLocation = @"\\computerName\share\";
if (Directory.Exists(fileLocation))
{
Console.WriteLine("Share exists.");
}
else
{
Console.WriteLine("Share does not exist.");
}
该过程在AD用户帐户下运行,同一帐户被授予共享目录的完全控制权限。我可以成功将共享映射为进程所在机器上的网络驱动器,并可以将文件复制到目录或从目录复制文件。关于我缺少的任何想法?
答案 0 :(得分:2)
使用File.Exists
而不是Directory.Exists
。
另外,您可能希望与平台无关,并使用规范Path.Combine
:
string fileName = "someFile.ars";
string fileServer = @"\\computerName";
string fileLocation = @"share";
if (File.Exists(Path.Combine(fileServer, fileLocation, fileName)))
{
Console.WriteLine("Share exists.");
}
else
{
Console.WriteLine("Share does not exist.");
}