【问题标题】:Renaming all files in folder in numeric order按数字顺序重命名文件夹中的所有文件
【发布时间】:2016-06-28 19:17:27
【问题描述】:

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

        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 个原始名称,如果我打印第二个 writeline,它将打印完全相同但“1 - 大约 150”而不是原始名称。所以那里没有问题,它必须与 file.move 但我看不出有什么问题

【问题讨论】:

  • 我没有收到任何错误,而且它不在 try 语句中,您还想要什么其他代码?它周围的一切都有效,因为它 100% 滚动浏览每个文件
  • 您将不得不发布更多代码 - 我们不知道 ImageFilePaths 是什么 - 例如,如果它是文件夹列表的 IEnumerable,则它没有完全评估,因此您 Move 会干扰ForEach 的输出。
  • ` string[] ImageFilePaths = new string[] { };字符串 RenameFolderPath = AppDataPath + @"\Graphics\BackupSorting\" + RootFolderName + @"\0-1"; ImageFilePaths = Directory.GetFiles(RenameFolderPath);`
  • 对不起,我不知道如何在注释中编写代码,但这就是变量,这就是函数中的所有内容,除了 Rootfoldername,它只是我引入的“s”
  • RenameFolderPath 的末尾有“\0-1”,最后 1 个正常吗?这可能是原因。

标签: c# rename


【解决方案1】:

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

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++;
        }
    }
}

【讨论】:

    猜你喜欢
    • 2014-08-23
    • 1970-01-01
    • 1970-01-01
    • 2017-04-10
    • 2019-07-15
    • 2013-04-24
    • 1970-01-01
    相关资源
    最近更新 更多