JScript
Модератор: Модераторы
Сообщений: 3
• Страница 1 из 1
Проблемка не большая ни как не могу найти как можно проделывать арифметические операции с датами. Мне нужно узнать: отнять текущую дату от даты создания обьекта и если оно дольше 3 дней обьект удоляеться, соответственно если меньше обьект остаеться.
Подскажите функцию как это делать?
Подскажите функцию как это делать?
"Любой человек, остановившийся в своем развитии, будет заменен другим."
ну если кому пригодиться вот сам скрипт (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>
Строго не судите я пока ещё учусь :
<!--
"скрипт для удаления файлов и папок которые превышают определенное количество дней."
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>
"Любой человек, остановившийся в своем развитии, будет заменен другим."
Сообщений: 3
• Страница 1 из 1
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 9