Читаем Windows Script Host для Windows 2000/XP полностью

Перейдем теперь к описанию функции LoopSubFolders(Fold). Сначала в этой функции удаляются временные файлы в каталоге Fold:

//Удаляем временные файлы из каталога Fold

DelFilesInFolder(Fold, ExtForDel);

Затем происходит удаление файлов во всех подкаталогах каталога Fold, причем делается это с помощью обращения для каждого подкаталога к той же функции LoopSubFolders:

//Создаем коллекцию подкаталогов

SubFolders = new Enumerator(Fold.SubFolders);

//Цикл по всем подкаталогам

while (!SubFolders.atEnd()) {

 //Вызываем рекурсивно функцию LoopSubFolders

 LoopSubFolders(SubFolders.item());

 //Переходим к следующему подкаталогу

 SubFolders.moveNext();

}

Полный текст сценария DelTmp.js приведен в листинге 5.17.

Листинг 5.17. Удаление всех временных файлов на диске D:

/*******************************************************************/

/* Имя: DelTmp.js                                                  */

/* Язык: JScript                                                   */

/* Описание: Удаление временных файлов во всех подкаталогах        */

/*           текущего каталога                                     */

/*******************************************************************/

//Объявляем глобальные переменные

var WshShell,FSO,Folder,

 ColTmp=0,        //Счетчик файлов для удаления

 ExtForDel="tmp"; //Расширение файлов, подлежащих удалению


//Рекурсивная функция для удаления временных файлов в каталоге Fold

function LoopSubFolders(Fold) {

 var SubFolders;

 //Удаляем временные файлы из каталога Fold

 DelFilesInFolder(Fold,ExtForDel);

 //Создаем коллекцию подкаталогов

 SubFolders = new Enumerator(Fold.SubFolders);

 //Цикл по всем подкаталогам

 while (!SubFolders.atEnd()) {

  //Вызываем рекурсивно функцию LoopSubFolders

  LoopSubFolders(SubFolders.item());

  //Переходим к следующему подкаталогу

  SubFolders.moveNext();

 }

}

//Функция для удаления файлов с расширением SExt в каталоге Fold

function DelFilesInFolder(Fold,SExt) {

 //Объявляем переменные

 var Files,s,SPath,FileExt,Status;

 //Создаем коллекцию всех файлов в каталоге Fold

 Files=new Enumerator(Fold.Files);

 s="";

 //Цикл по всем файлам

 while (!Files.atEnd()) {

  //Определяем путь к файлу

  SPath=Files.item().Path;

  //Выделяем расширение файла

  FileExt=FSO.GetExtensionName(SPath).toUpperCase();

  //Сравниваем расширение файла с расширением SExt

  if (FileExt==SExt.toUpperCase()) {

   ColTmp++; //Увеличиваем счетчик файлов для удаления

   try {

    Status="Ok";

    //Пытаемся удалить файл

    //Files.item().Delete();

   } catch (e) { //Обрабатываем возможные ошибки

    if (e != 0) {

     //Произошла ошибка при удалении файла

     Status="Busy";

    }

   }

   //Заменяем специальные символы в названии файла

   SPath=SPath.replace("~","{~}");

   SPath=SPath.replace("+","{+}");

   SPath=SPath.replace("^","{^}");

   SPath=SPath.replace("%","{%}");

Перейти на страницу:

Похожие книги

Access 2002: Самоучитель
Access 2002: Самоучитель

В книге рассматривается широкий круг вопросов, связанных с использованием программной среды Access 2002, которая является составной частью пакета Office 2002 и предназначена для создания банка данных в самых различных предметных областях.Подробно описывается методика проектирования объектов базы данных (таблицы, формы, отчеты, страницы доступа к данным, запросы, модули).Детально обсуждаются вопросы создания интегрированной базы данных в единой среде Access 2002: формирование БД с нуля, конвертирование в программную среду баз данных, созданных в ином программном окружении – Clarion, FoxPro.Особое внимание уделяется формированию разнообразных запросов к интегрированной базе данных Access 2002 с использованием языков программирования SQL, VBA и макросов.Приводятся общие сведения о возможностях языка обмена данными между различными компьютерами и приложениями (XML). Описываются возможности использования гиперссылок, связывающих базу данных с другими программными продуктами. Объясняется, как можно работать с базой данных Access 2002 без установки ее на компьютер, используя технологию ODBC (Open Data Base Connectivity). В приложениях приводятся количественные параметры Access 2002 и связанная с этой СУБД терминология.Предлагаемая книга будет полезна специалистам, занимающимся практической разработкой банков данных и приложений на их основе, а также студентам вузов, изучающим информатику.

Павел Юрьевич Дубнов

Программирование, программы, базы данных / ОС и Сети / Книги по IT