File.Copy从服务器中的本地文件夹到共享文件夹

时间:2015-07-15 20:22:33

标签: c# .net

将.txt从本地服务器(“D:\ AuditFiles”)复制到另一台服务器(“\\ PrintServer \ SharedFolder”)中的共享文件夹时出现问题。它引发了异常:

  

“文件名,目录名称或卷标语法不正确。”

我认为它可能是路径格式的东西,所以我尝试通过添加到服务器路径@:

@Configuration.Manager["Path"] | @"\\ServerPath\SharedFolder"

我也试过这种格式:\\ ServerPath \ SharedFolder ......它们都没有用。

顺便说一下它不是访问问题,因为我试图在c#中运行命令提示符做同样的事情:

System.Diagnostics.Process.Start("cmd.exe", "/C COPY PATH1, PATH2"); //This worked and copied the file.
如果有人能给我一些可能出现问题的线索,我会很高兴。至少建议做什么。

先谢谢你,对不起我的英文不好!

编辑:

这是应该有效的代码部分:

string pathPrevDay = "D:\AuditFiles\enc_" + svr.Name + "_counts" + day.AddDays(-1).ToString("dd-MM-yy") + ".txt";

if(File.Exists(pathPrevDay))
{
    File.Copy(pathPrevDay, @ConfigurationManager.AppSettings["MAIL_SERVER_PATH"]);
}

1 个答案:

答案 0 :(得分:1)

你需要在File.Copy(pathPrevDay,ConfigurationManager.AppSettings [" MAIL_SERVER_PATH"])中转义反斜杠并指出文件的名称;。

改变这个:

string pathPrevDay = "D:\AuditFiles\enc_" + svr.Name + "_counts" + day.AddDays(-1).ToString("dd-MM-yy") + ".txt";

到此:

string pathPrevDay = "D:\\AuditFiles\\enc_" + svr.Name + "_counts" + day.AddDays(-1).ToString("dd-MM-yy") + ".txt";

您也可以使用单斜杠(/),如下所示:

string pathPrevDay = "D:/AuditFiles/enc_" + svr.Name + "_counts" + day.AddDays(-1).ToString("dd-MM-yy") + ".txt";