Тема: JS: Удаление каталогов в зависимости от времени модификации
Помогите реализовать код для удаление каталогов в зависимости от времени модификации
Вы не вошли. Пожалуйста, войдите или зарегистрируйтесь.
Серый форум → Общение → Windows Script Host, HTA (VBScript, JScript) → JS: Удаление каталогов в зависимости от времени модификации
Страницы 1
Чтобы отправить ответ, вы должны войти или зарегистрироваться
Помогите реализовать код для удаление каталогов в зависимости от времени модификации
over4track, не Вы первый и, должно быть, не Вы последний... - пожалуйста, заключайте код в пару тэгов code, во-вторых, подобная тема как-то поднималась уже на форуме, но если ничего не найдете через поиск, то примерный вариант:
var fso = new ActiveXObject("Scripting.FileSystemObject");
with (WScript.Arguments.Named) {
if (length != 2) {
WScript.echo(WScript.ScriptName + " /d:[path] /n:[days]");
WScript.echo(" /d:[path] - a source folder");
WScript.echo(" /n:[days] - days expired");
WScript.Quit(1);
}
try {
DeleteOlderThanX(Item("d"), Item("n"));
}
catch (e) {
WScript.echo(e.message + ".");
}
}
function DateDiff(fileName) {
var day = new Date(fso.GetFile(fileName).DateLastModified),
now = new Date(), mil = 1 / (1000 * 60 * 60 * 24),
res = (now - day) * mil;
return(Math.floor(res));
}
function DeleteOlderThanX(dirName, dateExpire) {
with (fso.GetFolder(dirName)) {
var eFiles = new Enumerator(Files),
eSubs = new Enumerator(Subfolders),
itm;
for (; !eFiles.atEnd(); eFiles.moveNext()) {
itm = eFiles.item();
if (DateDiff(itm) > dateExpire) {
WScript.echo(itm.Path + ".....deleted.");
itm.Attributes = 0;
itm.Delete();
}
}
for (; !eSubs.atEnd(); eSubs.moveNext()) {
itm = eSubs.item();
DeleteOlderThanX(itm.Path, dateExpire);
WScript.echo(itm.Path + ".....deleted.");
if (itm.Size == 0) {
itm.Attributes = 0;
itm.Delete();
}
}
}
}Страницы 1
Чтобы отправить ответ, вы должны войти или зарегистрироваться