Андрей Попов - Windows Script Host для Windows 2000/XP Страница 80
- Категория: Компьютеры и Интернет / Программное обеспечение
- Автор: Андрей Попов
- Год выпуска: -
- ISBN: -
- Издательство: -
- Страниц: 175
- Добавлено: 2019-07-03 10:23:51
Внимание! Книга может содержать контент только для совершеннолетних. Для несовершеннолетних просмотр данного контента СТРОГО ЗАПРЕЩЕН! Если в книге присутствует наличие пропаганды ЛГБТ и другого, запрещенного контента - просьба написать на почту pbn.book@yandex.ru для удаления материала
Андрей Попов - Windows Script Host для Windows 2000/XP краткое содержание
Прочтите описание перед тем, как прочитать онлайн книгу «Андрей Попов - Windows Script Host для Windows 2000/XP» бесплатно полную версию:В книге описывается сервер сценариев 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 читать онлайн бесплатно
Таблица 5.14. Некоторые метасимволы, использующиеся в регулярных выражениях
Символы Описание \ Следующий СЃРёРјРІРѕР» будет являться специальным символом или, наоборот, литералом. Например, n означает СЃРёРјРІРѕР» "n", Р° "\n" означает СЃРёРјРІРѕР» РЅРѕРІРѕР№ строки. Последовательности \\ соответствует СЃРёРјРІРѕР» "\", Р° \( — СЃРёРјРІРѕР» "(" ^ Начало строки $ Конец строки * Предыдущий СЃРёРјРІРѕР» повторяется любое число раз (РІ том числе РЅРё разу). Например, выражению zo* соответствуют как "z", так Рё "zoo" + Предыдущий СЃРёРјРІРѕР» повторяется РЅРµ менее РѕРґРЅРѕРіРѕ раза. Например, выражению zo+ соответствует "zoo", РЅРѕ РЅРµ "z" ? Предыдущий СЃРёРјРІРѕР» повторяется РЅРµ более РѕРґРЅРѕРіРѕ раза . (точка) Любой СЃРёРјРІРѕР», РєСЂРѕРјРµ перевода строки С…|Сѓ Либо СЃРёРјРІРѕР» "С…", либо СЃРёРјРІРѕР» "Сѓ". Например, выражению z|food соответствуют "z" или "food" [xyz] Множество символов. Означает любой РѕРґРёРЅ СЃРёРјРІРѕР» РёР· набора символов, заключенных РІ квадратные СЃРєРѕР±РєРё. Например, выражению [abc] соответствует СЃРёРјРІРѕР» "Р°" РІ слове "plain" [a-z] Диапазон символов. Означает любой РѕРґРёРЅ СЃРёРјРІРѕР» РёР· заданного диапазона. Например, выражению [a-z] соответствует любая Р±СѓРєРІР° английского алфавита РІ нижнем регистре [^m-z] Означает любой СЃРёРјРІРѕР», РЅРµ входящий РІ заданный диапазон. Например, выражению [^m-z] соответствует любой СЃРёРјРІРѕР», РЅРµ попадающий РІ диапазон символов РѕС‚ "m" РґРѕ "z" \b Граница слова, С‚.Рµ. позиция между словом Рё пробелом. Например, выражению er\b соответствует СЃРёРјРІРѕР» "er" РІ слове "never", РЅРѕ РЅРµ РІ слове "verb" \Р’ Позиция внутри слова (РЅРµ РЅР° границе). Например, выражению еа*r\B соответствует подстрока "ear" РІ "never early" \d РЎРёРјРІРѕР», обозначающий цифру. Рквивалентно [0-9] \D Любой СЃРёРјРІРѕР», РєСЂРѕРјРµ цифры. Рквивалентно [^0-9]Метасимволы РјРѕР¶РЅРѕ употреблять совместно, например, комбинация ".*" означает любое число любых символов.
ЗамечаниеБолее подробную информацию о регулярных выражениях можно найти, например, в документации Microsoft по языку VBScript.
Р’ качестве примера использования регулярных выражений РІ листинге 5.18 приведен сценарий FindRegExp.js, РІ котором производится РїРѕРёСЃРє РІ подкаталоге ForFind текущего каталога всех файлов, имена которых начинаются СЃ символов "Рџ", "Рђ" или "Р" Рё имеют расширение txt.
Для получения доступа к каталогу ForFind в сценарии используется метод GetFolder объекта FileSystemObject:
//Создаем объект WshShell
WshShell=WScript.CreateObject("WScript.Shell");
//Создаем объект FileSystemObject
FSO=WScript.CreateObject("Scripting.FileSystemObject");
//Создаем объект Folder для доступа к подкаталогу ForFind
//текущего каталога
Folder = FSO.GetFolder(WshShell.CurrentDirectory+"\\ForFind");
Поиск нужных файлов будет выполняться с помощью следующего регулярного выражения:
//Создаем регулярное выражение (объект RegExp)
RegEx=new RegExp("^[РџРђР].*\.txt$", "i");
Сам поиск и вывод имен найденный файлов производятся в функции FindFilesInFolder(Fold, RegEx). Здесь сначала инициализируются счетчик найденных файлов и переменная, в которой будут сохраняться имена найденных файлов, а также создается объект Enumerator (переменная Files) для доступа к файлам каталога Fold:
ColFind=0; //Счетчик найденных файлов
SFileNames=""; //Строка с именами файлов
//Создаем коллекцию файлов в каталоге Fold
Files=new Enumerator(Fold.Files);
Рлементы коллекции просматриваются РІ цикле while:
//Цикл по всем файлам в коллекции
while (!Files.atEnd()) {
 Files.moveNext(); //Переходим к следующему файлу
}
Для текущего файла в коллекции выделяется его имя, которое затем с помощью метода test объекта RegExp проверяется на соответствие заданному регулярному выражению:
//Выделяем имя файла
SName=Files.item().Name;
//Проверяем, соответствует ли имя файла регулярному выражению
if (RegEx.test(SName)) {
 ColFind++; //Увеличиваем счетчик найденных файлов
 //Добавляем имя файла к переменной SFileNames
В SFileNames+=SName+ " \n";
}
В конце функции FindFilesInFolder(Fold, RegEx) на экран выводятся имена найденных файлов и их общее количество:
SItog="Найдено файлов: "+ColFind;
//Выводим на экран имена и количество найденных файлов
WScript.Echo(SFileNames+SItog);
Листинг 5.18. Поиск файлов, имена которых соответствуют регулярному выражению/*******************************************************************/
/* РРјСЏ: FindRegExp.jsВ В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В */
Жалоба
Напишите нам, и мы в срочном порядке примем меры.