JScript

Windows Script Host (WSH), WMI, vbs скрипты и т.д. Создание и применение скриптов.

Модератор: Модераторы

Активный пользователь
Аватара пользователя
Сообщения: 117
Зарегистрирован: 23 янв 2004, 15:23
Откуда: KG

Сообщение mirage » 27 ноя 2006, 15:44

Проблемка не большая ни как не могу найти как можно проделывать арифметические операции с датами. Мне нужно узнать: отнять текущую дату от даты создания обьекта и если оно дольше 3 дней обьект удоляеться, соответственно если меньше обьект остаеться.

Подскажите функцию как это делать?
"Любой человек, остановившийся в своем развитии, будет заменен другим."

Активный пользователь
Сообщения: 1229
Зарегистрирован: 08 июл 2004, 06:17
Откуда: Новосибирск

Сообщение slz » 28 ноя 2006, 07:13


Активный пользователь
Аватара пользователя
Сообщения: 117
Зарегистрирован: 23 янв 2004, 15:23
Откуда: KG

Сообщение mirage » 22 дек 2006, 20:49

ну если кому пригодиться вот сам скрипт (EXCHANGE.wsf)
Строго не судите я пока ещё учусь :


<!--
"скрипт для удаления файлов и папок которые превышают определенное количество дней."
1 сутки = 86400000 милисекунд, 3 сут. = 259200000 милисекунд, 5 сут. = 432000000 милисекунд.

-->


<job id="T1">
<script language="JScript">

var shell = WScript.CreateObject("WScript.Shell"); //Для отправки сообщения


var path = "\\\\Server\\incoming\\"; // Задать папку в которой будет проверяться обьект

var wsh = WScript.CreateObject("WScript.Shell");

// Создать объект FlleSystemObject, чтоб получить доступ к файловой системе.

var fso = WScript.CreateObject("Scripting.FileSystemObject");

//Получить набор объектов

var folder = fso.GetFolder(wsh.ExpandEnvironmentStrings(path));
var files = new Enumerator(folder.Files); //определение файлов
var folders = new Enumerator(folder.SubFolders); //определение папок

var dni, sozdanie;
var d = new Date(); // Получаем текущую дату
//WScript.Echo(d); //Для отладки


/* ****************************************************
перебор только по файлам
****************************************************** */

for (; !files.atEnd(); files.moveNext()) //Получение списка всех файлов.
{
var file = files.item();
sozdanie = file.DateCreated;
dni = d-sozdanie;
//WScript.Echo (d-sozdanie); //Для отладки
//WScript.Echo(file.Name +"====>"+ sozdanie); //Для отладки

if (dni >= 432000000) // если дата создания файла >= 3 суток (259200000 МлСек)
{
//WScript.Echo(file.Name +"====>"+ sozdanie); //Для отладки
shell.Run("s2pop %computer% Exchange Через_10_минуту!_Файл_будет_удоляться:" +path +file.Name);
WScript.Sleep(600000); // пауза перед удалением в 10 мин
fso.DeleteFile(path + file.Name);
shell.Run("s2pop %computer% Exchange Файл_Был_УДАЛЁН!!!");
}
}


/* ****************************************************
перебор только по папкам
****************************************************** */

for (; !folders.atEnd(); folders.moveNext()) //Получение списка всех папок.
{
var file = folders.item();
sozdanie = file.DateCreated;
dni = d-sozdanie;

//WScript.Echo (d-sozdanie); //Для отладки
//WScript.Echo(file.Name +"====>"+ sozdanie); //Для отладки

if (dni >= 259200000) // если дата создания папки >= 3 суток (259200000 МлСек)
{
//WScript.Echo(file.Name +"====>"+ sozdanie); //Для отладки
shell.Run("s2pop %computer% Exchange Через_10_минуту!_Папка_будет_удоляться:" +path+file.Name);
WScript.Sleep(600000); // пауза перед удалением в 10 мин
//fso.DeleteFolder(path + file.Name);
shell.Run("s2pop %computer% Exchange Папка_Была_УДАЛЕНА!!!");
}
}
</script>
</job>
"Любой человек, остановившийся в своем развитии, будет заменен другим."

Вернуться в Скрипты

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 9