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

Операционные системы / Отчет по ОС 6

.docx
Скачиваний:
20
Добавлен:
02.01.2020
Размер:
31.01 Кб
Скачать

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

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

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

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

Выполнили:

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

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

Эстрайх И.В.

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

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

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

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

Текст script1.js:

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

var a=WScript.Arguments;

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

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

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

var jIE=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 уровень вложенности

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

vbDir

Dim vbDFI

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

For i=0 To u Step 1

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

Next

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

For Each vbFI In vbDFI

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 vbFO In vbDSFO

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

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

If vbFO.SubFolders.Count<>0 Then PrintAll vbFO

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

If vbFO.Files.Count<>0 Then PrintFiles vbFO

Next

u=u-1

If u=0 Then PrintFiles vbDir

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"

while vbIE.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>"

PrintAll vbFolder

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

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