![]() |
Вывести 2 самых свежих файла по указаному пути
Здравствуйте. Знатоки подскажите пожалуйста как решить такую задачу. Есть папка в которую каждый день падает по одному архиву. Нужно вывести имена двух самых свежих архивов (по дате создания или изменения), а также их размеры (желательно в КБ).
Пробовал вот таким образом но почему то не работает. Выводит все файлы... Код:
@echo off |
All!@nce,
1. Выводит все файлы, т.к. в условии "if num==2" сравниваются литералы "num" и "2", которые никогда не смогут быть равными. 2. Командой "setlocal enabledelayedexpansion" необходимо установить раскрытие переменных в момент выполнения кода, а не в момент чтения кода интерпретатором. Тогда будет работать счётчик. 3. popd в вышеприведённом коде сработает только если файлов в целевом каталоге будет меньше двух. итоговый результат
Код:
@echo off |
All!@nce,
Для произвольного числа выводимых файлов
Код:
@Echo Off Код:
Echo Файл %~nx1 изменён %~t1 размер %~z1 Только для двух файлов
Код:
@Echo Off Еще вариант для сравнительно произвольного числа в произвольном порядке
Код:
@Echo Off |
iglezz, супер, просто то что нужно! Подскажите еще пожалуйста как поправить чтобы размер в КБ выводился
|
All!@nce, А какой максимальный размер файлов?
|
Цитата:
Сейчас у меня выводит вот так: Код:
размер 3606707190 Код:
размер 3 606 707 КВ |
All!@nce, Формально надо размер/1024. Но для CMD есть ограничение в 214748364.
Насколько критичен вывод именно в килобайтах. В тысячах байт не устроит? В принципе, есть способ выкрутиться .... |
Цитата:
Надо просто откинуть 3 последние цифры. Ну и разделить на группы по 3 знака (это в идеале) |
Цитата:
|
Цитата:
|
All!@nce,
Отформатировать примерный размер в KB можно таким способом
Код:
@echo off |
В тыс.байтов c выделением разрядов
Код:
@Echo Off |
Супер. Спасибо большое, вы мне очень помогли!
|
All!@nce, вот одна команда для вашей задачи(powershell), и выводите себе результат хоть в ТБ, хоть в миллиардах байт.
Код:
param( Код:
Архив Ёлочка.rar 1 811 310 KB |
Время: 21:55. |
Время: 21:55.
© OSzone.net 2001-