windows - Batch script loop gennem specifikke typer af filer i den nuværende mappe og få de senest oprettede og næste latestcreated filer og så videre

Indlæg af Hanne Mølgaard Plasc

Problem



Jeg har følgende script til at løbe gennem specifikke typer filer og få oplysninger om date og time af deres oprettelse:


@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(
    )
)


Men hvordan bestiller jeg denne liste i faldende, som senest oprettet fil først og derefter den næste oprettede fil og derefter den næste og gemmer disse i en matrix?


Jeg sidder fast i denne ordrerende ting og håber at nogen kan hjælpe mig her.

Bedste reference


Angiv en bindestreg i ordreklausulen som i/o: -d i stedet for/o: d. Dette fungerede for mig i kommandopromptsskærmen.


Prøv dette link for at sætte resultaterne i en matrix: Opret liste eller arrayer i 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(
    )
)