C# 按数字顺序重命名文件夹中的所有文件

C# 按数字顺序重命名文件夹中的所有文件,c#,rename,C#,Rename,我知道这看起来很简单,我知道还有其他问题要问,但我只需要知道我个人做错了什么,为什么它不起作用,因为它应该起作用 int ImageCounter = 1; foreach (var Image in ImageFilePaths) { { // Console.WriteLine(Image); // Console.WriteLine(RenameFolder

我知道这看起来很简单,我知道还有其他问题要问,但我只需要知道我个人做错了什么,为什么它不起作用,因为它应该起作用

        int ImageCounter = 1;

        foreach (var Image in ImageFilePaths)
        {
            {
               // Console.WriteLine(Image);
               // Console.WriteLine(RenameFolderPath + @"\" + ImageCounter + ".jpeg");
                    File.Move(Image, RenameFolderPath + @"\" + ImageCounter + ".jpeg");
                   ImageCounter++;
            }
        }
一个文件夹里大约有150张图片,运行这个之后,我留下了11张,其中10张编号为1-10,第11张保留了原来的名字。
如果我打印(图像),它将打印大约150个原始名称,如果我打印第二行,它将打印完全相同的,但“1-大约150”而不是原始名称。所以这里没有问题,一定是file.move有问题,但我看不出有任何错误

不确定您的其余代码是什么样子的,但这对我很有用:

void Main()
{
    MoveFiles(@"c:\Temp\MoveTest", @"C:\Temp\MoveTest1");
}

public void MoveFiles(string fromDir, string toDir)
{
    int ImageCounter = 1;

    // Take a snapshot of the file system.
    System.IO.DirectoryInfo dir = new System.IO.DirectoryInfo(fromDir);
    IEnumerable<System.IO.FileInfo> ImageFilePaths = dir.GetFiles("*.*", System.IO.SearchOption.TopDirectoryOnly); 

    foreach (var Image in ImageFilePaths)
    {
        {
            Console.WriteLine(Image);
            Console.WriteLine(toDir + @"\" + ImageCounter + ".jpeg");
            File.Move(Image.FullName, toDir + @"\" + ImageCounter + ".jpeg");
            ImageCounter++;
        }
    }
}
void Main()
{
移动文件(@“c:\Temp\MoveTest”,@“c:\Temp\MoveTest1”);
}
公共void移动文件(字符串fromDir,字符串toDir)
{
int ImageCounter=1;
//拍摄文件系统的快照。
System.IO.DirectoryInfo dir=新的System.IO.DirectoryInfo(fromDir);
IEnumerable ImageFilePath=dir.GetFiles(“**”,System.IO.SearchOption.TopDirectoryOnly);
foreach(ImageFilePath中的var图像)
{
{
控制台。WriteLine(图像);
Console.WriteLine(toDir+@“\”+ImageCounter+.jpeg”);
Move(Image.FullName,toDir+@“\”+ImageCounter+.jpeg”);
ImageCounter++;
}
}
}

我没有收到任何错误,也没有在试用状态,您还想要什么其他代码?它周围的一切都能正常工作,因为它100%地滚动每个文件。您将不得不发布更多的代码-我们不知道ImageFilePath是什么-例如,如果它是文件夹列表的IEnumerable,它的计算结果将不完整,因此您的移动将干扰ForEach的输出。`string[]ImageFilePath=new string[] { }; 字符串RenameFolderPath=AppDataPath+@“\Graphics\BackupSorting\”+RootFolderName+@“\0-1”;ImageFilePath=目录.GetFiles(重命名文件夹路径)`很抱歉,我不知道如何在注释中编写代码,但这是变量,这是函数中除Rootfoldername之外的所有内容,我在重命名文件夹路径末尾引入了Rootfoldername的“\0-1”,最后一个1正常吗?这可能就是原因。