Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабораторная работа ИБ.doc
Скачиваний:
1
Добавлен:
01.07.2025
Размер:
110 Кб
Скачать
☆

Var s; //Объявление переменной

   // Формирование строки

s="Лабораторная работа N 3\n"+

   "Работа с файловой системой WSH\n"+

   "Выполнил ст-т гр. ПК-11Д\n";

WScript.Echo (s); // Печать строки

Задания:

  • Создать окно вывода собственных данных студента;

  • Создать окно вывода сведений о полном и кратком имени сценария;

  • Создать два последовательных окна информации об имени приложения и о полном имени приложения;

  • Объединить все окна в один скрипт.

 

Пример 2. Занесение параметров командной строки в массив args:

Var I, n, objArgs, s, args; // Объявляем переменные

objArgs = WScript.Arguments;  // Создаем объект WshArguments

  // Определяем общее количество аргументов

n = objArgs.Count();

s = "Всего аргументов: "+n+"\n";

args = new Array(n);

  // цикл по коллекции аргументов

for (i=0; i <= n-1; i++) {

  s += objArgs(i)+"\n";  // Формируем строки с аргументами

  args[i] = objArgs(i); // Записываем в массив

}

WScript.Echo(s);  // Выводим сформированные строки

Задания:

  • Создать скрипт вывода окна с отсутствующими на занятиях;

  • Создать скрипт вывода окна групп на факультете;

Пример 3 Поиск в текущем каталоге файла наибольшего размера:

var FSO, Path, Fold, F, i = 0, CurSize, MaxSize = 0, MaxF, s;

FSO = WScript.CreateObject("Scripting.FileSystemObject");

    // получаем доступ к текущему каталогу

Path = FSO.GetParentFolderName(WScript.ScriptFullName);

Fold = FSO.GetFolder(Path);

    // Создаем коллекцию файлов

F = new Enumerator(Fold.Files);

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

while ( ! F.atEnd()) {

    CurSize = F.item().Size; // размер текущего файла

      // сравниваем размер

    if (CurSize > MaxSize) {

        MaxSize = CurSize;  // новый максимум

        MaxF = F.item(); // файл наибольшего размера

    }

      // Переходим к следующему файлу

    F.moveNext();

    i++; // кол-во просмотренных файлов

} // while

s = "В текущем каталоге "+ Fold.Name + " "+i+" файлов.\n"+

    "Максимальный размер имеет "+MaxF.Name+" = "+

     Math.round(MaxSize/1024) + " Кб";

WScript.echo(s);

Задания:

  • Создать программу нахождения файла наименьшего размера

  • Создать программу вывода имен файлов меньше определенного размера

 

     Пример 4 Записать в протокол дату

var FSO = WScript.CreateObject("Scripting.FileSystemObject") ;

 // Создаем текстовый файл

var F = FSO.CreateTextFile("log.txt", true);

 // Записываем строку в файл

var D = new Date();

F.WriteLine("Протокол работы от :"+D.toLocaleDateString());

 // Закрываем файл

F.Close(); 

Задания:

  • Создать протокол с версией WSH

  • Создать протокол с полным именем созданного скрипта

     Пример 5 Организовать проверку правильности запуска программы

//Пример запуска программы с диалоговым окном запроса

//на JScriptvar

vbOKCancel = 1;

var vbInformation = 64;

var vbCancel = 2;

var Message = "Вы действительно хотите запустить программу Notepad?";

var Title = "Подтвердите действие";

Welcome();

var WSHShell = WScript.CreateObject("WScript.Shell");

WSHShell.Run("notepad",5);

function Welcome()

{ var WSHShell = WScript.CreateObject("WScript.Shell"); var intDoIt;

intDoIt = WSHShell.Popup(Message, 0, Title, vbOKCancel + vbInformation ); if (intDoIt == vbCancel) { WScript.Quit();

}

}

  • Окно запуска текстового редактора Word

  • Окно запуска командной строки

2

Методы и свойства объекта WshShell (создаем файлы *.vbs)

Объект WshShell служит для работы с переменными окружения Windows, специальными папками, запускает другие программы, создает ярлыки и т.д. Для его использования его необходимо создать методом CreateObject.

Set WshShell = CreateObject(“WScript.Shell”)

Информация о системе

Свойство Environment объекта WshShell, позволяет работать с системными переменными окружения. Для этого создается объект WshEnvironment

Синтаксис:

WshShell.Environment([strType])

где

strType – может принимать параметры "System", "User", "Volatile" или "Process" .

Значение “Volatile" используется для работы с данными, передаваемыми другими программами, а "System", "User" и "Process" используются для работы с системными данными.

Таблица системных данных среды, доступных с помощью значений "System", "User" и "Process"

Значение

Описание

Где присутствует

System

User

Process

NUMBER_OF_PROCESSORS

Количество процессоров на данном компьютере

X

-

X

PROCESSOR_ARCHITECTURE

Тип процессора

X

-

X

PROCESSOR_IDENTIFIER

Расширенные данные о процессоре

X

-

X

PROCESSOR_LEVEL

Поколение процессора

X

-

X

OS

Операционная система

X

-

X

COMSPEC

Путь к файлу командной строки (cmd.exe или command.com)

X

-

X

HOMEPATH

Каталог по умолчанию для пользователей

X

HOMEDRIVE

Первый локальный диск (обычно С:)

-

-

X

PATH

Заданные системные пути

X

X

X

PATHEXT

Исполняемые файлы (.exe , .com и т.д.)

X

-

X

SYSTEMDRIVE

Диск на котором находится директория с операционной системой

-

-

X

SYSTEMROOT

Директория Windows

-

-

X

WINDIR

Директория Windows

X

-

X

TEMP или TMP

Папка для временных файлов

-

X

X

Объект Environment, как и все коллекции WSH, имеет свойство Count, в котором хранится число элементов коллекции, и метод Item.

Следующий пример выводит на экран некоторые системные данные

VBScript:

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

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

'создаем объект Environment со значением PROCESS:

Set WshProEnv = WshShell.Environment("PROCESS")

SysInfo = "Системные параметры компьютера:" + Chr(10)+ Chr(10)

SysInfo = SysInfo + "Процессоров: " + _

WshProEnv("NUMBER_OF_PROCESSORS") + Chr(10)

SysInfo = SysInfo + "Директория Windows: " + _

WshProEnv("WINDIR") + Chr(10)

SysInfo = SysInfo + "Временная папка: " + WshProEnv("TEMP") + Chr(10)

MsgBox SysInfo

Запуск приложений (создаем файлы *.vbs)

С помощью метода Run объекта WshShell мы можем запускать другие приложения.

Синтаксис:

object.Run (strCommand, [intWindowStyle], [bWaitOnReturn])

где

object - объект WshShell

strCommand - исполняемая команда

Особенностью синтаксиса данного метода является то, что при использовании всех параметров скобки ( ) опускаются.

Необязательные параметры:

intWindowStyle - стиль окна запускаемого приложения

bWaitOnReturn - может принимать значение true или false, указывающее, следует ли сценарию дожидаться окончания выполнения запущенного приложения. true - выполнение сценария приостанавливается до тех пор, пока не будет закрыто запущенное приложение. false - не дожидаться.

Значения, принимаемые параметром intWindowStyle:

Значение

Описание

0

Запуск в скрытом виде

1

Обычный размер окна, если окно свернуто или развернуто на весь экран, то ему возвращается исходный вид и положение на экране

2

Запуск в свернутом виде

3

Развернутое на весь экран

4

Запуск в обычном размере, в неактивном состоянии (без фокуса)

8

Обычный размер в неактивном состоянии, но в фокусе остается запустившее приложение

Метод Run не может вызвать приложение, если оно расположено в папке, путь к которой содержит пробелы. В этом случае путь надо заключить в тройные кавычки.

В качестве примера, с помощью метода Run запустим программу Блокнот, с загруженным вызывающим сценарием.

Dim WshShell

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

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

'Вызываем Блокнот и добавляем к нему в качестве параметра

'путь исполняемого сценария:

WshShell.Run ("%windir%\notepad " & WScript.ScriptFullName)