Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
19
Добавлен:
02.01.2020
Размер:
33.02 Кб
Скачать

Министерство образования и науки Российской Федерации

Федеральное агентство по образованию

НОВОСИБИРСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ

Лабораторная работа №6

«Операционные системы, среды и оболочки»

Выполнили:

Студентки группы ФБИ – 22

Преподаватель:

Эстрайх И.В.

Новосибирск 2014

Приемы работы со сложными объектами Windows на VBScript/JScript

Написала программу script1.js, которая выполняет действия следующего плана:

Формирует список каталогов и файлов, в том числе извлекает список всех вложенных каталогов и файлов, и выдает полученную информацию – имя файла или каталога. Данные отображаются в окошке Интернет-браузера в структурированном виде, то есть наименования элементов содержимого каталога выдаются на экран с дополнительным пробелом слева относительно левого отступа родительского каталога.

Текст script1.js:

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

var a=WScript.Arguments;

varjFolder=PVK.GetFolder(a(0)); //объект Folder - каталог, которыйнадораспечатать

varjSFO=new Enumerator(jFolder.SubFolders); //коллекцияподкаталогов

varjSFI=new Enumerator (jFolder.Files); //коллекцияфайловкорневогокаталога

varjIE=WScript.CreateObject("InternetExplorer.Application");

jIE.Visible=false;

jIE.AddressBar=false;

jIE.MenuBar=false;

jIE.StatusBar=false;

jIE.ToolBar=false;

jIE.FullScreen=false;

jIE.Resizable=false;

jIE.Height=700;

jIE.Width=500;

jIE.Navigate("about:blank");

while (jIE.Busy) WScript.Sleep(100);

jIE.Visible=true;

var doc=jIE.Document;

doc.title="Заголовок";

doc.body.innerHTML="<p>"+jFolder.Name+"</p>";

for (; !jSFO.atEnd(); jSFO.moveNext())

{ doc.body.innerHTML=doc.body.innerHTML+"<pre><p> "+jSFO.item().Name+"</p></pre>";}

for (; !jSFI.atEnd(); jSFI.moveNext())

{ doc.body.innerHTML=doc.body.innerHTML+"<pre><p> "+jSFI.item().Name+"</p></pre>"; }

Создала программу script2.vbs, которая выполняет те же действия, но с использованием рекурсивного вызова функций или процедур, используемых для просмотра подкаталогов любого уровня вложенности и отображения списка содержимого.

Текст script2.vbs:

u=0 REM уровень вложенности

SubPrintFiles(vbDir) REM вывод файлов каталога

vbDir

DimvbDFI

SetvbDFI=vbDir.Files REM коллекция файлов каталога vbDir

For i=0 To u Step 1

str=str&" " REM формируется строка отступов

Next

REM просмотр коллекции файлов vbDFI

ForEachvbFIInvbDFI

doc.body.innerHTML=doc.body.innerHTML&"<pre><p>"&str&vbFI.Name&"</p></pre>" REM печать имени каждого файла

Next

End Sub

Sub PrintAll(vbDir)

vbDir

Dim vbDSFO

Set vbDSFO=vbDir.SubFolders REM коллекцияподкаталоговсамогокаталога

vbDir

otstup=""

u=u+1

For i=1 To u Step 1

otstup=otstup&" "

Next

For Each vbFOInvbDSFO

doc.body.innerHTML=doc.body.innerHTML&"<pre><p>"&otstup&vbFO.Name&"</p></pre>"

REM если в подкаталоге есть свои подкаталоги, рекурсивный вызов процедуры

If vbFO.SubFolders.Count<>0 Then PrintAllvbFO

REM если в подкаталоге есть файлы, печатаем их

If vbFO.Files.Count<>0 Then PrintFilesvbFO

Next

u=u-1

If u=0 Then PrintFilesvbDir

End Sub

Dim FSO

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

Dim a

Set a=WScript.Arguments

Dim vbFolder

Set vbFolder=FSO.GetFolder(a(0))

Dim vbIE

Set vbIE=WScript.CreateObject("InternetExplorer.Application")

vbIE.Visible=false

vbIE.AddressBar=false

vbIE.MenuBar=false

vbIE.StatusBar=false

vbIE.ToolBar=false

vbIE.FullScreen=false

vbIE.Resizable=false

vbIE.Height=700

vbIE.Width=500

vbIE.Navigate "about:blank"

whilevbIE.Busy

WScript.Sleep 100

WEnd

vbIE.Visible=true

Dim doc

Set doc=vbIE.Document

doc.title="Заголовок"

doc.body.innerHTML="<pre><p>"&vbFolder.Name&"</p></pre>"

PrintAllvbFolder

Вывод: Научиласьработать со сложными объектами Windows на VBScript/JScript. Создала две программы, которые формируют список каталогов и файлов, в том числе извлекают список всех вложенных каталогов и файлов, и выдают полученную информацию с помощью окошка Интернет-браузера.

Соседние файлы в папке Операционные системы