yurkesha
Ясно, спасибо.
Знаю в какую сторону теперь копать.
Ясно, спасибо.
Знаю в какую сторону теперь копать.
Код:for /f "delims=" %%a in (file.lst) do for /r %%a %%i in (*.*) do dir "%%~fi"
12345678.001 26.03.2010 10:00 100 Кбпочему 002 когда 004 имеет ту же дату и больше?
12345678.002 26.03.2010 10:01 500 Кб
12345678.003 26.03.2010 18:00 200 Кб
12345678.004 26.03.2010 18:20 800 Кб
Требуемый файл - 12345678.002
Требуемый файл - 12345678.002
при этом сначала отобрать файлы с самой ранней датой созданияИменно временем создания, а не временем последней его модификации?
Второй скопированый файл должен быть создан вчера, с самой поздней датой создания и самим меньшим размером. Пример:опять непонятно почему 003 а не 12345678.001 - у него размер явно меньше. а у 12345678.004 - дата ещё более последняя.
12345678.001 25.03.2010 10:00 100 Кб
12345678.002 25.03.2010 10:30 500 Кб
12345678.003 25.03.2010 22:00 200 Кб
12345678.004 25.03.2010 22:10 800 Кб
Требуемый файл - 12345678.003
Чота вспомнилось, сегодня раки маленькие.угу, именно оно.
а вот вчера большие но по 5 рублей.
спасибо за ответ.тогда так:
Пишет, что Непредвиденное появление: %i.
Как все-таки это сделать?
Именно поэтому я указал времяименно поэтому я и поправил пример на чуть другое время, когда спрашивал.
(получается с точностью в 1 минуту, секундами можно пренебречь),ниоткуда из предыдущего описания не следует что секундами допустимо и нужно пренебрегать.
а затем среди них уже нужен файл 002 так как у него больше размер.
Тоже касается и второго файла: за вчера самые "поздние" файлы будут 003 и 004нет, самый поздний - он единственный, по определению самого позднего.
Иногда файлов с полностью одинаковой датой и временем создания не 2, а 1, тогда по размеру сравнение не нужно.если время брать точно - без специально принимаемых мер такой файл всегда единственный, на NTFS шаг времени - миллисекунды.
Я не проигнорировал, в предыдущем сообщении написал дата создания.напрочь не вижу - там по контексту слова одинаково подходит и создание и модификация, и никакой уверенности что ты не путаешь одно с другим - так и не наступило.
при этом сначала отобрать файлы с самой ранней датой создания
есть список каталогов. нужно из этих каталогов со всеми подкаталогами взять все файлы с сегодняшней датой и записать их полный путь в отдельный файл.это на for вложенности меньше чем заявка запускать чего-то абтрактное (dir я же там вписывал для примера) в каждом из подкаталогов каталога списка.
ниоткуда из предыдущего описания не следует что секундами допустимо и нужно пренебрегатьсогласен
брать просто тот единственный что система считает самым свежим - нельзя?угумс
Если тебе нужно посравнивать несколько самых поздних - то надо было не лениться сразу писать критерий выбора этих нескольких.Да я и не ленился, просто в процессе изначального написания, не учитывал ряд вещей, кои в последствии переформулировал.
если время брать точно - без специально принимаемых мер такой файл всегда единственный, на NTFS шаг времени - миллисекунды.да, согласен
Если неправильно сформулировал - в процессе отладки переформулирует...
но если ему действительно надо странноеЧто значит "странное"?
Это не логи, а только свеже созданные файлы в указанное выше время, у них дата создания и модификации будет отличатся 2-мя - 3-мя секундами.ну а я о чем. рабочие файлы. и время модификации доступно просто из %%~ti - в отличие от времени создания, доступного только через dir /t:c.
Что значит "странное"?условия, которые быстро и понятно сформулировать не получается.
это на for вложенности меньше чем заявка запускать чего-то абтрактное (dir я же там вписывал для примера) в каждом из подкаталогов каталога списка.
Да и сравнение на текущую дату у тебя перегружено.
Код: @echo off
for /f "delims=" %%a in ('type list.txt') do (
echo "%%~fa"
for /f "delims=" %%i in ('dir /b/s/a-d "%%~fa"') do (
echo %%~ti | 1>nul findstr /b /c:"%date%" && 1>>new_list.txt echo.%%~fi
)
)
)
но нужно знать раньше, до выполнения следующей команды.
Тогда просто сосчитай их
И не мог бы ты "разжевать" эту строку:
echo %%~ti | 1>nul findstr /b /c:"%date%" && 1>>new_list.txt echo.%%~fi
совсем не понял как она работает.
И если ситуация будет такая, что нужно будет составить список файлов не с сегодняшней датой, а с вчерашней (т.е. на день назад) как это будет выглядеть?громоздко это будет - дешевых способов автоматом загнать в переменную (или в строку) представление вчерашней даты - на батфайлах нет, придется извращаться или с ручным длинным вычислением команадми батника или вставкой бейсик-скрипта или внешние утилиты искать.
Какая версия виндоус? Если XP Home, то в ней нет tasklist и много еще чего.
Спасибо, пока так и сделаю. Смущает лишь сильная зависимость времени исполнения от количества выбранных файлов.
Цитата: Тогда просто сосчитай их
как раз XP Home, да не повезло мне
Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132
Предыдущая тема: XP не видит второй раздел на съемном USB-HDD