我正在尝试将单个文件复制到多个子目录,同时还将“占位符”(符号&)更改为不同的字符。
一个目录中的原始文件 AJWCLN&.txt
最终文件希望放置在不同的目录中。\temp1\AJWCLNC.txt(将“&”符号更改为 Temp 子目录中的字母 C) \temp2\AJWCLND.txt(将“&”符号链接到字母 D)
我需要为大约 20 个不同的目录执行此操作,并且我需要为每个目录设置不同的字母。
预先感谢您的所有帮助。
string fileName = "AJWCLN&.txt";
string newfileName="";
string destFile = "";
string sourcePath = @"C:\Users\Public\TestFolder";
string sourceFile = System.IO.Path.Combine(sourcePath, fileName);
for ( int i = 0; i < 20; i++ )
{
newfileName = fileName.Replace('&', Convert.ToChar( i + 65 ));
targetPath = @("C:\Users\Public\TestFolder\temp" + i+1);
string destFile = System.IO.Path.Combine(targetPath, newfileName);
if (!System.IO.Directory.Exists(targetPath))
{
System.IO.Directory.CreateDirectory(targetPath);
}
System.IO.File.Copy(sourceFile, destFile, true);
}
一些来源:
您可以File.Copy
用来复制具有不同名称的文件。
该程序演示:
using System;
using System.Collections.Generic;
using System.Linq;
using System.IO;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
File.Copy("c:\\myFile.ext", "c:\\temp\\myFile2.ext");
}
}
}
你也可以使用String.Format()
你的占位符,或者如果&
绝对必须是占位符,String.Replace
就可以
File.Copy("AJWCLN&.txt", String.Format("c:\\temp\\AJWCLN{0}.txt", "C") );
.
File.Copy("AJWCLN&.txt", "c:\\temp\\AJWCLN&.txt".Replace('&', 'C') );