`
Читать книги » Книги » Компьютеры и Интернет » Программное обеспечение » Андрей Попов - Windows Script Host для Windows 2000/XP

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

1 ... 37 38 39 40 41 ... 175 ВПЕРЕД
Перейти на страницу:

/* Язык: JScript                                                   */

/* Описание: Запуск дочернего консольного приложения               */

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

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

var ObjExec,WshShell,s,IsBreak,ArrS,ColStr,ColFiles,i;

//Создаем объект WshShell

WshShell = WScript.CreateObject("WScript.Shell");

//Запускаем команду DIR

ObjExec=WshShell.Exec("%COMSPEC% /c dir /b");

s="";

IsBreak=false;

for (;;) {  //Бесконечный цикл

 //Проверяем, достигнут ли конец выходного потока команды DIR

В if (!ObjExec.StdOut.AtEndOfStream)

  //Считываем полностью выходной поток команды DIR

В  s+=ObjExec.StdOut.ReadAll();

 if (IsBreak) break; //Выходим из цикла

 if (ObjExec.Status==1)  //Проверяем, не завершилось ли выполнение DIR

В  IsBreak=true;

 else WScript.Sleep(100);  //Приостанавливаем сценарий на 0,1 сек

}

ArrS=s.split("n");  //Формируем массив строк

ColFiles=ArrS.length-1;   // Количество файлов в текущем каталоге

WScript.StdOut.WriteLine("Всего файлов в текущем каталоге: "+ColFiles);

for (i=0;i<=ColFiles-1;i++)

 WScript.StdOut.WriteLine(ArrS[i]); //Выводим строки на экран

/*************  Конец *********************************************/

Аналогичный сценарий на языке VBScript приведен в листинге 2.37.

Листинг 2.37. Запуск дочернего консольного приложения (VBScript)

'*******************************************************************

' РРјСЏ: ExecConApp.vbs

' Язык: VbScript

' Описание: Запуск дочернего консольного приложения

'*******************************************************************

Option Explicit

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

Dim ObjExec,WshShell,s,IsBreak,ArrS,ColStr,ColFiles,i

' Создаем объект WshShell

Set WshShell = WScript.CreateObject("WScript.Shell")

' Запускаем команду DIR

Set ObjExec=WshShell.Exec("%COMSPEC% /c dir /b")

s=""

IsBreak=False

Do While True  ' Бесконечный цикл

 ' Проверяем, достигнут ли конец выходного потока команды DIR

В If (Not ObjExec.StdOut.AtEndOfStream) Then

  ' Считываем полностью выходной поток команды DIR

В  s=s+ObjExec.StdOut.ReadAll

В End If

В If IsBreak Then

  Exit Do  ' Выходим из цикла

В End If

 ' Проверяем, не завершилось ли выполнение DIR

В If ObjExec.Status=1 Then

В  IsBreak=True

В Else

  WScript.Sleep 100 ' Приостанавливаем сценарий на 0,1 сек

В End If

Loop

ArrS=Split(s,vbCrLf)  ' Формируем массив строк

ColFiles=UBound(ArrS)  ' Количество файлов в текущем каталоге

WScript.StdOut.WriteLine "Всего файлов в текущем каталоге: " & ColFiles

For i=0 To ColFiles-1

 WScript.StdOut.WriteLine ArrS(i)  ' Выводим строки на экран

Next

'*************  Конец *********************************************

Доступ к специальным папкам Windows ХР

При установке Windows всегда автоматически создаются несколько специальных папок (например, папка для рабочего стола (Desktop) или папка для меню Пуск (Start)), путь к которым впоследствии может быть тем или иным способом изменен. С помощью свойства SpecialFolders объекта WshShell можно создать объект WshSpecialFolders, который является коллекцией, содержащей пути ко всем специальным папкам, имеющимся в системе (список названий этих папок приведен в главе 1 при описании объекта WshSpecialFolders).

В листингах 2.38 и 2.39 приводятся сценарии на языках JScript и VBScript соответственно, которые формируют список всех имеющихся в системе специальных папок (рис. 2.15).

Рис. 2.15. Пути для всех специальных папок в Windows ХР

Листинг 2.38. Формирование списка всех специальных папок (JScript)

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

/* РРјСЏ: SpecFold1.jsВ В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В  */

/* Язык: JScript                                                  */

/* Описание: Вывод названий всех специальных папок Windows        */

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

var WshShell, WshFldrs, i, s;  //Объявляем переменные

//Создаем объект WshShell

WshShell = WScript.CreateObject("Wscript.Shell");

//Создаем объект WshSpecialFolders

WshFldrs = WshShell.SpecialFolders;

s="Список всех специальных папок:nn";

//Перебираем все элементы коллекции WshFldrs

for (i=0;i<= WshFldrs.Count()-1;i++) {

 //Формируем строки с путями к специальным папкам

В s+=WshFldrs(i)+"n";

}

WScript.Echo(s);

/*************  Конец *********************************************/

Листинr 2.39. Формирование списка всех специальных папок (VBScript)

'*****************************************************************

' РРјСЏ: SpecFold1.vbs

' Язык: VBScript

' Описание: Вывод названий всех специальных папок Windows

'*****************************************************************

Option Explicit

Dim WshShell, WshFldrs, SpecFldr, s  ' Объявляем переменные

' Создаем объект WshShell

Set WshShell = WScript.CreateObject("Wscript.Shell")

' Создаем объект WshSpecialFolders

Set WshFldrs = WshShell.SpecialFolders

s="Список всех специальных папок:" & vbCrLf & vbCrLf

' Перебираем все элементы коллекции WshFldrs

For Each SpecFldr In WshFldrs

 ' Формируем строки с путями к специальным папкам

В s=s & SpecFldr & vbCrLf

Next

WScript.Echo s

'*************  Конец *********************************************/

Объект WshSpecialFolders также позволяет получить путь к конкретно заданной специальной папке. Например, в сценарии SpecFold2.js (листинг 2.40) на экран выводятся пути к папкам рабочего стола (Desktop), избранных ссылок (Favorites) и раздела Программы (Programs) меню Пуск (Run) — рис. 2.16.

Рис. 2.16. Пути для некоторых специальных папок

Листинг 2.40. Доступ к определенным специальным папкам (JScript)

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

/* РРјСЏ: SpecFold2.jsВ В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В В  */

1 ... 37 38 39 40 41 ... 175 ВПЕРЕД
Перейти на страницу:

Откройте для себя мир чтения на siteknig.com - месте, где каждая книга оживает прямо в браузере. Здесь вас уже ждёт произведение Андрей Попов - Windows Script Host для Windows 2000/XP, относящееся к жанру Программное обеспечение. Никаких регистраций, никаких преград - только вы и история, доступная в полном формате. Наш литературный портал создан для тех, кто любит комфорт: хотите читать с телефона - пожалуйста; предпочитаете ноутбук - идеально! Все книги открываются моментально и представлены полностью, без сокращений и скрытых страниц. Каталог жанров поможет вам быстро найти что-то по настроению: увлекательный роман, динамичное фэнтези, глубокую классику или лёгкое чтение перед сном. Мы ежедневно расширяем библиотеку, добавляя новые произведения, чтобы вам всегда было что открыть "на потом". Сегодня на siteknig.com доступно более 200000 книг - и каждая готова стать вашей новой любимой. Просто выбирайте, открывайте и наслаждайтесь чтением там, где вам удобно.

Комментарии (0)