Андрей Попов - Windows Script Host для Windows 2000/XP

Тут можно читать онлайн Андрей Попов - Windows Script Host для Windows 2000/XP - бесплатно полную версию книги (целиком) без сокращений. Жанр: comp-osnet, издательство БХВ-Петербург, год 2004. Здесь Вы можете читать полную версию (весь текст) онлайн без регистрации и SMS на сайте лучшей интернет библиотеки ЛибКинг или прочесть краткое содержание (суть), предисловие и аннотацию. Так же сможете купить и скачать торрент в электронном формате fb2, найти и слушать аудиокнигу на русском языке или узнать сколько частей в серии и всего страниц в публикации. Читателям доступно смотреть обложку, картинки, описание и отзывы (комментарии) о произведении.
  • Название:
    Windows Script Host для Windows 2000/XP
  • Автор:
  • Жанр:
  • Издательство:
    БХВ-Петербург
  • Год:
    2004
  • Город:
    Санкт-Петербург
  • ISBN:
    5-94157-197-6
  • Рейтинг:
    3.8/5. Голосов: 101
  • Избранное:
    Добавить в избранное
  • Отзывы:
  • Ваша оценка:
    • 80
    • 1
    • 2
    • 3
    • 4
    • 5

Андрей Попов - Windows Script Host для Windows 2000/XP краткое содержание

Windows Script Host для Windows 2000/XP - описание и краткое содержание, автор Андрей Попов, читайте бесплатно онлайн на сайте электронной библиотеки LibKing.Ru

В книге описывается сервер сценариев Windows Script Host (WSH) версии 5.6, который является одним из стандартных компонентов Windows ХР, а также может быть установлен в более ранних версиях Windows. Приводятся сценарии на языках VBScript и JScript, иллюстрирующие применение стандартных объектов WSH 5.6, включая создание из сценариев дочерних процессов и запуск сценариев на удаленных компьютерах. В качестве более сложных примеров рассматриваются сценарии, работающие с базами данных, управляющие приложениями Microsoft Office, организующие графический пользовательский интерфейс, использующие технологии ADSI (Active Directory Service Interface) и WMI (Windows Management Instrumentation) для решения задач администрирования. Освещены вопросы практической работы с XML-файлами и создания СОМ-объектов. Особое внимание уделяется вопросам безопасности при работе со сценариями, приводятся конкретные примеры настроек политик безопасности. К книге прилагается дискета с исходными текстами большинства примеров.

Windows Script Host для Windows 2000/XP - читать онлайн бесплатно полную версию (весь текст целиком)

Windows Script Host для Windows 2000/XP - читать книгу онлайн бесплатно, автор Андрей Попов
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

Однако если хотя бы один из временных файлов будет занят каким-либо приложением, то в доступе к нему будет отказано и процесс удаления прервется (рис. 5.10).

Поэтому для удаления с жесткого диска всех временных файлов мы напишем сценарий DelTmp.js (основная идея, которая используется в данном сценарии, позаимствована из статьи [6]).

Алгоритм работы сценария состоит в следующем:

□ в Блокноте (notepad.exe) создается новый файл для отображения в нем результатов работы;

□ на диске D: просматриваются подкаталоги всех уровней вложенности;

□ в каждом подкаталоге ищутся все временные файлы с расширением tmp;

□ для каждого найденного временного файла производится попытка удаления. В случае успеха в Блокноте печатается путь к файлу и слово "OK", если же удаляемый файл занят, то печатается путь к файлу и слово "Busy" ("Занят");

□ после просмотра всех каталогов в Блокноте печатается общее количество найденных временных файлов (рис. 5.11).

Рис 59Список всех временных файлов на диске D Рис 510Ошибка - фото 90

Рис. 5.9.Список всех временных файлов на диске D:

Рис 510Ошибка возникающая при попытке удалить занятый файл Итак наиболее - фото 91

Рис. 5.10.Ошибка, возникающая при попытке удалить занятый файл

Итак, наиболее важными в сценарии являются: функция DelFilesInFolder( Fold, SExt ), в которой происходит попытка удаления в каталоге Fold всех файлов, имеющих расширение SExt , и рекурсивная (т.е. содержащая обращение к самой себе) функция LoopSubFolders( Fold ), в которой происходит вызов функции DelFilesInFolderдля подкаталогов каталога Fold.

Рис 511Результат работы сценария DelTmpjs Рассмотрим сначала функцию - фото 92

Рис. 5.11.Результат работы сценария DelTmp.js

Рассмотрим сначала функцию DelFilesInFolder( Fold, SExt ). Здесь сначала создается объект Enumeratorс именем Filesдля доступа к коллекции всех файлов в каталоге Fold:

var Files, s, SPath, FileExt, Status;

Files=new Enumerator(Fold.Files);

после чего все элементы коллекции просматриваются в цикле while:

s="";

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

while (!Files.atEnd()) {

Files.moveNext(); //Переходим к следующему файлу

}

Для текущего файла в коллекции выделяется его расширение, которое преобразуется к верхнему регистру:

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

SPath=Files.item().Path;

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

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

В случае совпадения расширения FileExtс расширением SExtв блоке try…catchпроизводится попытка удаления текущего файла:

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

try {

Status="Ok";

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

Files.item().Delete();

} catch (e) {

//Обрабатываем возможные ошибки

if (е != 0) {

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

Status="Busy";

}

}

Таким образом, в переменной Statusбудет записан результат удаления файла: "OK" в случае успеха, и "Busy" в том случае, если удаляемый файл занят другим приложением. После этого полный путь к удаляемому файлу и значение переменной Statusпечатаются в окне Блокнота с помощью метода SendKeysобъекта WshShell. Здесь только нужно учесть, что в имени файла могут встретиться символы, имеющие специальный смысл для метода SendKeys, поэтому предварительно нужно соответствующим образом заменить такие символы в имени файла:

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

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

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

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

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

//Посылаем название файла и результат его удаления в Блокнот

WshShell.SendKeys(SPath+"{TAB}"+Status+"~");

//Приостанавливаем сценарий на 0,5 сек

WScript.Sleep(500);

Перейдем теперь к описанию функции 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("^","{^}");

Читать дальше
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать


Андрей Попов читать все книги автора по порядку

Андрей Попов - все книги автора в одном месте читать по порядку полные версии на сайте онлайн библиотеки LibKing.




Windows Script Host для Windows 2000/XP отзывы


Отзывы читателей о книге Windows Script Host для Windows 2000/XP, автор: Андрей Попов. Читайте комментарии и мнения людей о произведении.


Понравилась книга? Поделитесь впечатлениями - оставьте Ваш отзыв или расскажите друзьям

Напишите свой комментарий
x