如何按时间顺序重命名 .txt 文件?(JavaScript 或 PowerShell)

如何按时间顺序重命名 .txt 文件?(JavaScript 或 PowerShell)

有人知道如何编写脚本(用 Java 或 Powershell 编写)来重命名一批.txt文件,以便按时间顺序进行计数吗?例如,我需要从 C1_1+100.txt、C1_1+200.txt、C1_1+300.txt 开始……一直到 +900.txt,然后滚动到 C1_2+000.txt、C1_2+100.txt……等等,一直到 C1_28+900.txt?

文件的日期和时间.txt无关紧要。只有其中的数据。所有文件都位于 USB 驱动器上的文件夹中。

我尝试使用一个名为“Advanced Renamer”的程序来重命名它们,但它无法按照我想要的方式重命名它们(C1_1+100.txt、C1_1+200.txt、C1_1+300.txt......),但这个程序可以接受 JavaScript 来帮助完成此操作。我将附上一张图片Advanced Renamer 中的配置文件示例原始文件名(Profile1.txt、Profile2.txt、Profile3.txt)以及我希望它在图像中显示的样子的示例。我手动覆盖了这三个文件作为示例。但是,我必须重命名大约 2700 个文件,而且一次重命名一个文件非常痛苦。

任何帮助都将非常有益。

答案1

我编写了一个 bash 脚本来重命名.txt所定义的所有文件。

#!/bin/bash

let "i=0"
let "j=0"

for F in /test-directory/*.txt
do
    if [ $i -gt 9 ]       #if value of i goes beyond 9   
    then
        i=0              #resets the value of i in order to have file names like 000-900
        j=$((j+1))
    fi

    mv "$F" /test-directory/C1_"$j"+"$i"00.txt #rename file
    i=$((i+1))
done

相关内容