-3

私は、単一のファイルを複数のサブディレクトリにコピーすると同時に、「プレースホルダー」(記号&)を別の慈善家に変更しようとしています。

1つのディレクトリにある元のファイルAJWCLN&.txt

最終的なファイルは、別のディレクトリに配置する必要がありました。\ temp1 \ AJWCLNC.txt(「&」記号をTempサブディレクトリの文字Cに変更)\ temp2 \ AJWCLND.txt(「&」記号を文字Dにチェーン)

これは約20の異なるディレクトリに対して行う必要があり、&をディレクトリごとに異なる文字にする必要があります。

よろしくお願いします。

4

2 に答える 2

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 に答える
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 に答える