将.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"]);
}
答案 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";