igor_andreev
Advanced Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору StanislavG А знаешь, почему твой батник периодически сбоит и мурыжышься ты с ним уже кажется месяца три-четыре? Потому что он некрасивый, мне дык сразу не понравился Крылатая фраза Туполева "красивые самолеты хорошо летают" только кажется шуткой, на самом деле в каждой шутке есть доля... В общем-то почти вся работа с датами в батниках реализуется некрасиво. Даже уже не очень помню, что твой батник толком делает, кажется надо заархивировать файлы, созданные вчера. Давай я тебе подарю vbscript Код: If WScript.Arguments.Count=1 Then Set fso = CreateObject("Scripting.FileSystemObject") CompareDate=DateSerial(Year(Date), Month(Date), Day(Date)-1) Set fc = fso.GetFolder(WScript.Arguments.Item(0)).Files For Each f in fc FileCreatedDate=DateSerial(Year(f.DateCreated), Month(f.DateCreated), Day(f.DateCreated)) If FileCreatedDate=CompareDate Then WScript.Echo f.Path Next End If WScript.Quit | Отдаешь в батнике этому скрипту любую папку в качестве аргумента и будет тебе счастье в виде списка файлов, созданных вчера. cscript //Nologo yesterday.vbs d:\downloads>d:\list.txt cscript //Nologo yesterday.vbs "d:\path with spaces\folder">>d:\list.txt Можно на все папки рекурсивно натравить for /r /d %a in (*) do cscript //Nologo yesterday.vbs "%a">>d:\list.txt list.txt будет в дос-кодировке(русские имена козябрами), но архиваторы его сьедят, хоть arj(!d:\list.txt), хоть rar(@d:\list.txt). DateSerial в vbs приводит даты к одному виду, поэтому такому скрипту сугубо параллельно, какой у тебя формат даты на компе, dd.MM.yyy или yyyy-MM-dd или еще что. Так-же ему перпендикулярно и наплевать, високосный-ли сегодня год и не первое-ли сегодня января. Бери-бери, скрипт фриваре и опенсорс. А то ты еще полгода будешь терроризировать камрада Elroir |