批处理脚本循环遍历当前目录中的特定类型的文件并获取最新创建的文件和下一个最新创建的文件等

Batch script loop through specific type of files in current directory and get the latest created and next latestcreated files and so on

我有以下脚本来遍历特定类型的文件并获取有关 datetime 其创建的信息:

@echo off
setlocal

call :getCreationInfo
cmd /k

:getCreationInfo
for /f "skip=5 tokens=1,2,4,5* delims= " %%a in ('dir /a:-d /o:d /t:c *.bak') do (
    if "%%~c" NEQ "bytes" (
        echo(
        @echo File Name: %%~d
        @echo Absolute Path: %%~fd
        @echo Creation Date: %%~a
        @echo Creation Time: %%~b
        echo(
    )
)

但是我如何按降序排列这个列表,比如首先创建的文件,然后是下一个创建的文件,然后是下一个,并将它们存储在一个数组中?

我被困在这个订购的事情上,希望有人能帮助我。

在 order 子句中加入连字符,如 /o:-d 而不是 /o:d。这在命令提示符屏幕上对我有用。

试试这个 link 将结果放入数组中:Create list or arrays in Windows Batch

@echo off
setlocal

call :getCreationInfo
cmd /k

:getCreationInfo
for /f "skip=5 tokens=1,2,4,5* delims= " %%a in ('dir /a:-d /o:-d /t:c *.bak') do (
    if "%%~c" NEQ "bytes" (
        echo(
        @echo File Name: %%~d
        @echo Absolute Path: %%~fd
        @echo Creation Date: %%~a
        @echo Creation Time: %%~b
        echo(
    )
)