C# 将文件从一台服务器上的一组文件夹复制到另一台服务器上的同一组文件夹C
我有一个带有文件名的列表1:C# 将文件从一台服务器上的一组文件夹复制到另一台服务器上的同一组文件夹C,c#,file,copy,C#,File,Copy,我有一个带有文件名的列表1: C:\\Work\\Server1\\CSRegWeb\\Transform\\Faq.xslt C:\\Work\\Server1\\CSRegWeb\\Content\\Axxess.xml C:\\Work\\Server1\\CSRegWeb\\kleenex.aspx C:\\Work\\Server1\\CSRegWeb\\Content\\dell.xml 我需要将这些文件复制到另一个具有相同文件夹结构的服务器,即server2。因此,文件夹位置为:
C:\\Work\\Server1\\CSRegWeb\\Transform\\Faq.xslt
C:\\Work\\Server1\\CSRegWeb\\Content\\Axxess.xml
C:\\Work\\Server1\\CSRegWeb\\kleenex.aspx
C:\\Work\\Server1\\CSRegWeb\\Content\\dell.xml
我需要将这些文件复制到另一个具有相同文件夹结构的服务器,即server2。因此,文件夹位置为:
C:\\Work\\Server2\\CSRegWeb\\Transform\\Faq.xslt
C:\\Work\\Server2\\CSRegWeb\\Content\\Axxess.xml
C:\\Work\\Server2\\CSRegWeb\\kleenex.aspx
C:\\Work\\Server2\\CSRegWeb\\Content\\dell.xml
我需要复制可以复制或覆盖的文件。
现在它们是server1和server2,服务器名称可以更改。
任何帮助都将不胜感激
以下是我的代码:
DESTINATION_PROJECT_ROOT = "C:\\Work\\Server2"
projectName = "CSRegWeb"
string dest = DESTINATION_PROJECT_ROOT + "\\" + projectName + "\\" ;
foreach (FileInfo k in List1)
{
foreach (FileInfo j in List2)
{
if (k.Name == j.Name && k.Directory.Name == j.Directory.Name)
{
File.Copy(k.FullName, dest , true);
break;
}
}
}
这只会替换已修改的文件。我认为您无法通过这种方式访问它。试着这样做:
string path = @"\\Server2\CSRegWeb\Transform\Faq.xslt";
编辑
或者,如果要将其存储在web.config中,请尝试以下操作:
<appSettings>
<add key="CopyToLocation" value="\\Server2" />
</appSettings>
@Jon,很抱歉我忘了发布代码,我刚刚粘贴了我在destination_PROJECT_ROOT上获得的代码,它给出了服务器的位置,我们从app.config中获取file@superstar:是否只复制已存在的文件?如果有新文件,这些文件将不会被复制。@jp2code:上面的代码按照您所说的做了,所以我现在修改了它,以便处理新文件。谢谢您是否尝试过将目标路径更改为我建议的路径?但我无法硬编码服务器名称,它可能会更改。因此应用程序如何知道将文件复制到哪个服务器?将上面的字符串放入app.config是一个选项…这就是我现在正在做的,从app.config获取服务器。那么问题出在哪里??您正在使用的路径不工作吗?