Set FSO=Createobject("Scripting.FileSystemObject")
lDate=CDate("20/05/01")
uDate=CDate("20/05/06")
Set objDir=FSO.GetFolder("C:\Temp")
For Each efile in objDir.files
if efile.DateLastModified>lDate and efile.DateLastModified<uDate then
efile.attributes=0 'снимаем атрибут на чтение
fso.deletefile efile
End if
Next
Я тут решил вместо 3 мин на с++ попробовать сделать это в bat файле. Вопрос такой: как отнять одну дату от другой? Есть для этого стандартная процедура?
У меня на данный момент получилось вот что:
:удаляем файлы старше 2 недель
@echo off
for /F "tokens=1" %%i in ('date /t') Do set c_date=%%i
echo %c_date%
For %%a In (c:\backup\*.rar) Do @Call :killa %%a %%~ta
GoTo :EOF
:killa
Set f_name=%1
Set f_date=%2
:del %F_Name% /q
@echo %f_name%, %f_date%, %c_date% - %f_date%
:вопрос собс-но как заставить работать %c_date% - %f_date% ?
GoTo :EOF
Посмотри в этой ветке:28.09.06 13:14 Автор: Den <Денис Т.> Статус: The Elderman
Set FSO=Createobject("Scripting.FileSystemObject")
lDate=CDate("20/05/01")
uDate=CDate("20/05/06")
Set objDir=FSO.GetFolder("C:\Temp")
For Each efile in objDir.files
if efile.DateLastModified>lDate and efile.DateLastModified<uDate then
efile.attributes=0 'снимаем атрибут на чтение
fso.deletefile efile
End if
Next
cscript.exe имя_файла.vbs
а на винде vbscript есть для етого28.09.06 04:48 Автор: + <Mikhail> Статус: Elderman
Хотя с другой стороны, в стандартный набор тулзов, устанавливаемых на тачке уже давно входят MinGW/MSYS (реже Cygwin), так что необходимость в таком пакетике уже и не такая острая