Roman_UA
linux user
Можно ли в bat-файле реализовать удаление файлов из папки по дате/времени создания?
Например, все файлы созданные до 18:00 вчерашнего дня.
Например, все файлы созданные до 18:00 вчерашнего дня.
Set WshShell = WScript.CreateObject("WScript.Shell")
Set fso = CreateObject("Scripting.FileSystemObject")
Set objArgs = Wscript.Arguments
on error resume next
fNew = "D:\TMP\" ' Каталог для очистки
Set fld = fso.GetFolder(fNew)
Set fc = fld.Files
For Each f1 In fc
if f1.size=0 then f1.delete
Next
Можно ли в bat-файле реализовать удаление файлов из папки по дате/времени создания?
Например, все файлы созданные до 18:00 вчерашнего дня.
rem папка источник
cd /d c:\papka
rem куда записывать архив
set rez=c:\temp\
rem берем текущую дату и запоминаем в новом формате
for /f "tokens=1,2,3 delims=. " %%i in ('date /t') do (set date=%%k%%j%%i)
rem перемещаем все вчерашние и более старые файлы в архив
pkzip -ex -T -P -i -m -r -u %rez%%date%_files *.* >>%rez%%date%_move.log
rem удаляем все, если таки не нужны, но можно удалить сразу, заменив -m на -d
rem del %rez%%date%_*.*
Set WshShell = WScript.CreateObject("WScript.Shell")
Set fso = CreateObject("Scripting.FileSystemObject")
Set objArgs = Wscript.Arguments
On error resume next
REM Дата и время меньше которой файлы удаляются (указать в том формате, как настроено на компе)
fDate=cDate("30.05.2012 18:00:00")
REM !!!У файлов в каталоге должен быть снят атрибут "Только для чтения"
fNew = "D:\TMP\" ' Каталог для очистки
Set fld = fso.GetFolder(fNew)
Set fc = fld.Files
For Each f1 In fc
REM Проверяется дата последнего изменения файла (DateLastModified), еще возможно DateCreated или DateLastAccessed
if f1.DateLastModified <= fDate then f1.delete
Next