需求:
在某文件夹中常常有固定数量的N个顺序命名的文件,如:“MicrosoftTeams-image 1.png”~“MicrosoftTeams-image N.png”,需要对这些文件按顺序进行固定的重命名。
using System;
using System.IO;
class Program
{
static void Main()
{
// 获取程序所在文件夹的路径
string folderPath = AppDomain.CurrentDomain.BaseDirectory;
//提示输入文件名起始-结束文件号
Console.Write("照片文件起始编号:");
int start = int.Parse(Console.ReadLine());
string[] originalFileNames = {
$"MicrosoftTeams-image ({
start}).png",
$"MicrosoftTeams-image ({
start+1}).png",
$"MicrosoftTeams-image ({
start+2}).png",
$"MicrosoftTeams-image ({
start+3}).png",
$"MicrosoftTeams-image ({
start+4}).png",
$"MicrosoftTeams-image ({
start+5}).png",
$"MicrosoftTeams-image ({
start+6}).png",
$"MicrosoftTeams-image ({
start+7}).png",
$"MicrosoftTeams-image ({
start+8}).png",
$"MicrosoftTeams-image ({
start+9}).png",
$"MicrosoftTeams-image ({
start+10}).png",
};
//固定名称可顺序一一对应修改
string[] newFileNames = {
"苹果",
"香蕉",
"栗子",
"菠萝",
"草莓",
"杨桃",
"李子",
"离子",
"桃子",
"西瓜",
"葡萄"
};
// 校验文件名数量是否一致
if (originalFileNames.Length != newFileNames.Length)
{
Console.WriteLine("错误:原始文件名和新文件名的数目不匹配!");
return;
}
// 遍历每个文件
for (int i = 0; i < originalFileNames.Length; i++)
{
string originalFilePath = Path.Combine(folderPath, originalFileNames[i]);
// 检查源文件是否存在
if (!File.Exists(originalFilePath))
{
Console.WriteLine($"错误:文件 '{
originalFileNames[i]}' 不存在!");
continue;
}
// 构造新文件名并生成新文件路径
string newFileName = newFileNames[i] + Path.GetExtension(originalFilePath);
string newFilePath = Path.Combine(folderPath, newFileName);
// 对文件进行重命名
File.Move(originalFilePath, newFilePath);
Console.WriteLine($"修改文件名 '{
originalFileNames[i]}' 为 '{
newFileName}' 成功!");
}
Console.ReadKey();
}
}
运行程序后,将项目生成的.exe
复制到需要修改文件所在的文件中双击运行即可!