我试图按顺序依次命名文件夹中的每个文件。 (file1,file2,file3 ... file99) 我的下面的代码是用下一个文件替换每个文件,因为它们都被命名为相同的东西。
这是我到目前为止所做的:
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 :(得分:0)
如果您只想重命名文件,可以执行此类操作
var i = 1;
foreach (var file in new DirectoryInfo(pathToFiles).EnumerateFiles())
{
File.Move(file.FullName, Path.Combine(file.DirectoryName, "file" + i++ + file.Extension));
}
<强>更新强>
以下是使用WriteAllBytes的示例:
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));
}