按文件名末尾的数字顺序提取文件(Windows)

按文件名末尾的数字顺序提取文件(Windows)

我想使用 Windows .bat 文件提取文件夹中的多个文件。

我有一些文件的文件名末尾带有数字,扩展名之前带有数字,我需要按照这些数字的顺序提取它们。

文件都命名为:xxxxxxx_1234.zip,我主要想按最后两个数字排序。

顺序很重要,因为连续编号的文件包含比前一个编号更新的版本。因此,如果我有多个文件(简化示例):xxxxxxx_1234.zip xxxxxxx_1235.zip xxxxxxx_1236.zip。

因此,1236 中的某些文件将比 1235 中的某些文件新,而 1235 中的某些文件将比 1234 中的某些文件新。所以我需要主要按最后两位数字排序。这是强制要求我的,我不能改变那一点..

我有提取部分,但它按字母顺序提取所有文件,但这不是我想要做的正确顺序。

你们能帮助我吗?

我现有的代码:

rmdir /s /q done unzip
mkdir done
mkdir unzip
cd unzip

    FOR /D /r %%F in ("*") DO (
        pushd %CD%
        cd %%F
            FOR %%X in (*.zip) DO (
                "C:\Program Files\7-zip\7z.exe" x ..\"%%X"
            )
        popd
    )

亲切的问候,

安东尼

相关内容