Скрипт удаления файлов в папке старше N дней
Подскажите, как создать исполняемый \ пакетный файл в среде Windows ХР чтобы он удалял все файлы старше N кол-ва дней от текущей даты в конкретной папке?
|
greg zakharov |
18-03-2016 20:31 2617593 |
Если без рекурсии, то примерно так:
Код:
0</* :
@cscript /nologo /e:jscript "%~f0"&exit /b */0;
(function(directory, daysleft) {
var fso = new ActiveXObject('Scripting.FileSystemObject');
String.prototype.getExistance = function() {
return Math.floor((
new Date - new Date(fso.GetFile(this).DateCreated)
) * (1 / 86400000));
}
with (fso.GetFolder(directory)) {
for (var e = new Enumerator(Files); !e.atEnd(); e.moveNext()) {
var file = e.item();
if (file.Path.getExistance() > daysleft) {
WScript.echo(file.Path);
file.Attributes = 0;
file.Delete();
}
}
}
}('X:\\myfolder', 14));
где X:\\myfolder меняете на путь до папки, вместо двух недель - 14 - указываете нужное количество дней.
Если в ХР установлен PowerShell, то:
Код:
ls myfolder | ? {!$_.PSIsContainer -and ((Get-Date)-$_.CreationTime).Days -gt 14} | % {ri -for $_.FullName}
|
Время: 03:51.
© OSzone.net 2001-