-3

我正在尝试将单个文件复制到多个子目录,同时还将“占位符”(符号&)更改为不同的字符。

一个目录中的原始文件 AJWCLN&.txt

最终文件希望放置在不同的目录中。\temp1\AJWCLNC.txt(将“&”符号更改为 Temp 子目录中的字母 C) \temp2\AJWCLND.txt(将“&”符号链接到字母 D)

我需要为大约 20 个不同的目录执行此操作,并且我需要为每个目录设置不同的字母。

预先感谢您的所有帮助。

4

2 回答 2

1
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);
}

一些来源:

如何:复制、删除和移动文件和文件夹(C# 编程指南)

如何在 C# 中重命名文件?

于 2013-01-03T19:50:09.427 回答
1

您可以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') );
于 2013-01-03T19:38:34.487 回答