4

我有一个 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 用户帐户下运行,并且同一帐户被授予对共享目录的完全控制权限。我可以成功地将共享映射为进程所在机器上的网络驱动器,并且可以将文件复制到目录/从目录复制。关于我所缺少的任何想法?

4

1 回答 1

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.");
}
于 2012-05-31T20:59:43.163 回答