-1

我从本地网络中另一台 PC 上的数据库加载数据,它工作得很好。

我只需输入服务器名称和数据库路径就可以了。

现在我也在服务器上的文件夹中寻找最新修改的文​​件,它在本地电脑上工作正常,但是当我使用服务器名称加路径时,它会生成与可执行文件夹路径连接的路径。

string tmpPath=string.Empty;
if (serverName != "")
  {
   tmpPath = "\\" + serverName + "\\" + TrackingPath + "\\u00" + ID;
  }

在此之后,我只需阅读文件夹即可获取最新修改的文​​件。

但是路径变为 ....Debug\servername\trackingpath..... 这是错误的。

例子

Servename=testServer
TrackingPath= TmpFolder\SharedFolder\TrackingFolder

所以根据我的代码它应该变成 \\testServer\\TmpFolder\SharedFolder\TrackingFolder但它却成功了 project....\Debug\\\testServer\\TmpFolder\SharedFolder\TrackingFolder 所以我怎样才能从 testserver 读取这个文件夹

4

1 回答 1

0

使用Path.Combine处理路径文件并记住反斜杠是 C# 中的特殊字符,它用于转义其他字符。所以你需要

string ID = "test";
string TrackingPath = "tracking";
string serverName = "server_name";
string tmpPath=string.Empty;
if (serverName != "")
{
    tmpPath = Path.Combine(@"\\", serverName, TrackingPath ,"u00" + ID);
}
Console.WriteLine(tmpPath);

要在字符串中插入反斜杠,您需要将其加倍或使用Verbatim 字符串前缀字符作为前缀@

使用 3.5 及以下版本

    tmpPath = Path.Combine(Path.Combine(Path.Combine(@"\\", serverName), TrackingPath) ,"u00" + ID);

嗯不是很有效,但它的工作原理

于 2013-06-06T14:39:43.177 回答