同一文件的多个副本

时间:2018-11-02 17:58:48

标签: c# powershell

1..1000 | % { copy-Item "C:\path1\test1.xml" "C:\path2\test$_.xml"}

上面的PowerShell代码从path1复制文件,并在path2中创建1000个副本。

我如何在C#中重新创建此功能?

谢谢。

3 个答案:

答案 0 :(得分:4)

像这样吗?

using System.IO;

for (int i = 0; i < 1000; i++)
{
    File.Copy(@"C:\path1\test1.xml", $@"C:\path2\test{i}.xml");
}

注意:如果目标文件存在,则将引发IOException。在这种情况下,可以使用以下重载来覆盖文件:

File.Copy(source, destination, overwrite: true);

答案 1 :(得分:0)

类似这样的东西:

 System.Linq.Enumerable.Range(1,1000).Select( i => 
     System.IO.File.Copy($"C:\\path1\\test1.xml", $"C:\\path2\\test{i}.xml");

希望有帮助。

答案 2 :(得分:0)

for (int i = 0; i < 1000; i++)
{
    System.IO.File.Copy("PathToCopyFrom", $"PathToCopyTo\\{System.IO.Path.GetFileNameWithoutExtension("PathToCopyFrom")}_{i}{System.IO.Path.GetExtension("PathToCopyFrom")}");
}