Пакетный скрипт перебирает файлы определенного типа в текущем каталоге и получает последние созданные и последующие последние созданные файлы и т. Д.
У меня есть следующий скрипт для циклического перебора файлов определенного типа и получения информации о date
а также time
их создания:
@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(
)
)
Но как мне упорядочить этот список по убыванию, как сначала последний созданный файл, а затем следующий созданный файл, а затем следующий и сохранить их в массиве?
Я застрял в этом порядке, надеясь, что кто-нибудь поможет мне здесь.
1 ответ
Решение
Поместите дефис в предложение порядка, как в /o:-d вместо /o:d. Это сработало для меня на экране командной строки.
Попробуйте эту ссылку для размещения результатов в массиве: Создать список или массивы в 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(
)
)