2017-07-13 20 views
-1

フォルダー内のすべてのファイルを順番に名前を付けようとしています。 (file1、file2、file3 ... file99) 以下のコードは、すべて同じ名前が付けられているため、各ファイルを次のファイルに置き換えています。for-eachループで各ファイルの名前を順番に変更する方法

これは私がこれまで持っているものです。

string pathToFiles = sourcePath.Text 
string destinationPath = destPath.Text + "\\" + FileNameTextBox.Text 

DirectoryInfo dirInfo = new DirectoryInfo(pathToFiles); 

foreach (var file in dirInfo.GetFiles()) 
{ 
    //Write the bytes of file to the destination path 
    File.WriteAllBytes(@destinationPath, fileToWrite); 
} 
MessageBox.Show("Process completed", "Completed"); 

どのように私はこれを達成することができますか?

+0

を良い。あなたは何を達成しようとしていますか?新しいファイルの名前をどのようにしたいですか? – CKII

+0

'fileToWrite'と' @ destinationPath'とは何ですか?そのコンテンツは決して変更されません。 –

+0

あなたが言及したいくつかの文字列を含むように投稿を更新しました。 'fileToWrite'は出力先のパスに保存する必要がある関数です。 – lostintranslation

答えて

0

あなたがちょうどここ

はWriteAllBytes例使用しているファイル

var i = 1; 
foreach (var file in new DirectoryInfo(pathToFiles).EnumerateFiles()) 
{ 
    File.Move(file.FullName, Path.Combine(file.DirectoryName, "file" + i++ + file.Extension)); 
} 

アップデートの名前を変更したい場合は、このような何かを行うことができます:これは思わ一見

var fileNameWithOutExtension = Path.GetFileNameWithoutExtension(FileNameTextBox.Text); 
var fileExtension = Path.GetExtension(FileNameTextBox.Text); 

int i = 0; 
foreach (var file in new DirectoryInfo(pathToFiles).EnumerateFiles()) 
{ 
    var filepath = Path.Combine(Path.GetDirectoryName(destPath.Text), fileNameWithOutExtension + i++ + fileExtension); 
    //Write the bytes of file to the destination path 
    File.WriteAllBytes(filepath, File.ReadAllBytes(file.FullName)); 
} 
+1

Path.GetDirectoryName(file)はFile.Directory.Fullnameでもかまいませんが、これはdestinationPathがファイルディレクトリとしてのanmeであることを前提としていますが、私はストレート連結ではなくpath.combineを使用することをお勧めします。ファイル情報にはmovetoメソッドがありますごみをファイルに呼び出す – MikeT

+0

@MikeT thxは、いくつかの変更を加えました! – ZarX

+0

ちょっとZarXあなたの返事をありがとう、どのようにこれは私のforeachの中ですでにそこに動作するのだろうか? File.WriteAllBytesがどこにあるのでしょうか?私の問題は、バイトに書き込むファイルが必要ですが、FileNameTextBox.Text + i ++ + fileExtensionのような順番になるようにFileNameTextBox.Textを使って指定されたファイル名を持つことです これは可能なコードで提供されますか? – lostintranslation

関連する問題