C# 随机重命名文件方法
我使用以下代码随机重命名文件:C# 随机重命名文件方法,c#,C#,我使用以下代码随机重命名文件: File.Move (@"C:\Users\Desktop\Rename\file.txt", @"C:\Users\Desktop\Rename\file" + Helpers_Generic.GenerateRandomInt(10, 1000, driver).ToString() + ".txt"); 它工作得很好,但我想把它放在一个易于使用的方法中: public static voi
File.Move
(@"C:\Users\Desktop\Rename\file.txt", @"C:\Users\Desktop\Rename\file"
+ Helpers_Generic.GenerateRandomInt(10, 1000, driver).ToString() + ".txt");
它工作得很好,但我想把它放在一个易于使用的方法中:
public static void RenameFile(string SourceFileName, string destFileName)
{
string randFileExten = GenerateRandomInt(100, 10000).ToString();
File.Move(SourceFileName, destFileName + randFileExten);
}
这样做效果不好,因为随机字符串出现在文件名的末尾。这里需要做什么?
谢谢 基于这个问题,您提出了以下要求:
public static void RenameFile(string SourceFileName, string destFileName)
{
var randFileExten = GenerateRandomInt(100, 10000);
string ext = Path.GetExtension(destFileName);
string file = Path.GetFileNameWithoutExtension(destFileName);
string folder = Path.GetDirectoryName(destFileName);
File.Move(SourceFileName, Path.Combine(folder, $"{file}{randFileExten}{ext}"));
}
但是,由于您很可能希望目标文件名与源文件名匹配,而不是与uniquifier匹配,因此我认为我们可以做得更好:
public static void RenameFile(string SourceFileName, string destFolderPath)
{
var randFileExten = GenerateRandomInt(100, 10000);
string ext = Path.GetExtension(sourceFileName);
string file = Path.GetFileNameWithoutExtension(sourceFileName);
File.Move(SourceFileName, Path.Combine(destFolderPath, $"{file}{randFileExten}{ext}"));
}
请注意,第二个参数的名称不同,匹配的方法也不同
我们还可以轻松地为目标文件夹相同的情况提供重载:
public static void RenameFile(string SourceFileName)
{
string folder = Path.GetDirectoryName(SourceFileName);
RenameFile(SourceFileName, folder);
}
请将提供的参数添加到重命名文件。是吗RenameFile@C:\Users\Desktop\Rename\file.txt,@C:\Users\Desktop\Rename\file`?非常好。谢谢你的回答,乔尔。