Основные команды для работы с файловой системой 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Основные команды для работы с файловой системой



МЕТОДИЧЕСКИЕ УКАЗАНИЯ

к лабораторным работам по дисциплине

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

 

Новочеркасск 2008


УДК 389(07)

 

 

Рецензент – канд. техн. наук А.И. Бондаренко

 

Составитель Беликова Н.В.

 

Методические указания к лабораторным работам по дисциплине «Операционные системы, среды и оболочки» / Сост. Н.В. Беликова; Шахтинский ин-т (филиал) ЮРГТУ (НПИ). – Новочеркасск: ЮРГТУ, 2008. - 40. – 50 экз.

 

Методические указания включают теоретический материал для знакомства с правилами организации командных bat-файлов и VSH – сценариев, примеры их написания и варианты заданий к выполнению лабораторных работ. Предназначены для студентов 2-го курса специальностей 080801 – «Прикладная информатика в юриспруденции», 080801 – «Прикладная информатика в экономике», обучающихся на факультете ОЗЗДО.

 

УДК 389(07)

© Шахтинский институт ЮРГТУ, 2008

© Беликова Н.В., 2008

 
 

СОДЕРЖАНИЕ

 


Лабораторная работа № 1
КОМАНДНЫЙ ИНТЕРПРЕТАТОР COMMAND.COM... 4

Переменные окружения. 5

Основные команды для работы с файловой системой. 6

Лабораторная работа № 2
ПРОГРАММИРОВАНИЕ КОМАНДНЫХ BAT-ФАЙЛОВ В WINDOWS 11

Команда ECHO.. 11

Команды для организации циклов. 12

Команда CHOICE.. 14

Особенности командных файлов в Windows NT-XP. 15

Примеры заданий. 19

Задания. 22

Лабораторные работы № 3-5
ПРОГРАММИРОВАНИЕ В WINDOWS SCRIPT HOST.. 23

Cервер сценариев Windows Script Host 23

Простейший скрипт. 24

Объекты WSH.. 24

Объект WScript 25

Задания. 26

Библиографический список. 31

Приложение 1. 32

Приложение 2. 33

Приложение 3. 35

Приложение 4. 36

Приложение 5. 37

Приложение 6. 38

 

Лабораторная работа № 1
КОМАНДНЫЙ ИНТЕРПРЕТАТОР COMMAND.COM

Цель работы: изучить возможности работы интерпретатора COMMAND.COM и программы cmd.exe; основные команды интерпретатора и ключи.

COMMAND.COM — название интерпретатора командной строки операционной системы DOS и 16/32-битных операционных систем Microsoft Windows (95/98/98 SE/Me). COMMAND.COM запускается при старте системы перед всеми остальными программами и выполняет команды из файла AUTOEXEC.BAT.

В качестве интерпретатора командной строки, COMMAND.COM имеет два режима работы. Первый режим — интерактивный, когда пользователь вводит с клавиатуры команды, которые немедленно выполняются. Второй режим — пакетный, когда COMMAND.COM выполняет заранее определённую последовательность команд, сохранённых в файлах с расширением.BAT. Функции аналогичны командным интерпретаторам Unix-совместимых операционных систем, с тем отличием, что COMMAND.COM имеет более ограниченный набор возможностей.

Программа cmd.exe выполняет роль COMMAND.COM в операционных системах Windows NT/2000/XP/2003 и OS/2. В этих системах также присутствует COMMAND.COM для совместимости с DOS-приложениями.

Некоторые команды распознаются и выполняются самим командным процессором – они называются внутренними, другие представляют собой отдельные программы – их называют внешними (утилитами).

Полный перечень внутренних команд интерпретатора приводится в приложении 1.

Все остальные команды являются внешними и хранятся в виде исполняемых файлов в папке C:\Windows\Command.

Для работы с командной строкой в Windows можно выполнить Пуск/Программы/Сеанс MS-DOS, запустить файл command.com непосредственно или использовать файловые менеджеры FAR, Norton Commander.

При запуске cоmmand.com можно использовать различные ключи.

Файловая система Windows имеет древовидную структуру и имена файлов задаются в формате [диск:] [путь\]имя_файла. Если путь начинается с символа «\», то маршрут вычисляется от корневого каталога – иначе от текущего. Например, c:123.txt задает файл 123.txt в текуем каталоге, c:\123.txt – в корневом, а DOC\123.txt – в подкаталоге DOC текущего каталога.

Существуют особые обозначения для текущего каталога (точка «.») и трех его верхних уровней (две точки «..» - родительский, три «…» - второго уровня и, наконец, четыре «….» - третьего уровня). Например, для текущего каталога C:\Windows\Media\Office97 путь к файлу autoexec.bat в корневом каталоге диска C: может быть записан в виде ….\autoexec.bat.

В именах файлов можно применять шаблоны «*» (произвольное кол-во любых символов) или «?» (один произвольный символ или его отсутствие). Для того, чтобы использовать длинные имена файлов при работе с командной строкой их нужно заключать в двойные кавычки.

В синтаксисе командной строки особое место занимает перенаправление ввода-вывода с помощью символа «>» на стандартное устройство (PRN, COM1 и т.п.) или файл. Например, DIR /? > helpdir.txt выведет справку по команде DIR в файл. Символ «>>» позволяет не создавать файл заново, а дописать в него. По аналогии символ «<» позволяет читать данные не с клавиатуры, а с файла. Например, DATE < date.txt ввод новой даты из файла.

Кроме того, командная строка поддерживает конвейеризацию с помощью конструкции: команда1 | команда2, когда сообщения выводимые первой командой используются в качестве входных данных для второй. Например, команда MORE выводит информацию частями, не превышающими размер экрана. Строка TYPE имя_файла | MORE выводит файл по экранам с паузой.

Переменные окружения

При загрузке ОС Windows в оперативной памяти постоянно хранится набор переменных окружения (environment variables). Хотя в Windows есть более совершенный способ для хранения системных значений – реестр, многие программы по-прежнему используют переменные окружения.

Наиболее важные переменные хранят системный путь для поиска (PATH), каталог запуска Windows (WINDIR), место хранения временных файлов (TEMP).

Переменные устанавливаются с помощью команды

SET [переменная=[строка]]

Запуск SET без параметров приводит к выводу списка переменных среды. Для получения их значений (строкового типа) нужно имя соответствующей переменной заключить в символы «%», например: %TEMP%.

Команда ECHO

Основной командой для вывода информации в пакетных файлах служит:

ECHO [сообщение]

С учетом перенаправления может выводить сообщения куда угодно (порты, принтер и т.п.). Например, ECHO Привет! > hi.txt направляет сообщение в текстовый файл.

По умолчанию команды пакетного файла перед исполнением выводятся на экран, что не всегда востребовано. С помощью команды ECHO OFF можно отключить дублирование вывода команд на экран. ECHO ON восстанавливает режим дублирования. Кроме этого, можно отключить дублирование отдельной строки, если предварить ее символом «@». И, наконец, можно вывести пустую строку комбинацией ECHO. (с точкой в конце).

 

@ECHO OFF

ECHO Привет!

ECHO.

ECHO Пока …

 

При запуске командных файлов в командной строке можно указывать произвольное число параметров, которые затем можно использовать внутри пакетного файла.

Для доступа к параметрам применяются символы %0 – имя файла, %1-%9 – значения первых девяти параметров соответственно. Например, имеется командный файл copier.bat следующего содержания:

 

@ECHO oFF

CLS

ECHO Файл %0 копирует каталог %1 в %2

XCOPY %1 %2 /S

При запуске его из командной строки с 2 параметрами:

copier.bat C:\Programs D:\Backup

на экран выводится сообщение «Файл copier.bat, копирует каталог C:\Programs в D:\Backup» и происходит соответствующее копирование.

При необходимости можно использовать более девяти параметров командной строки с помощью команды SHIFT, которая изменяет значения замещаемых параметров с %0 по %9, копируя каждый параметр в предыдущий. Значение %1 – в %0, %2 в %1 и т.д., 10 параметр в %9. Команда, обратная SHIFT, отсутствует, поэтому восстановить параметры уже не удастся.

Кроме того, в командных файлах можно использовать переменные окружения и объявлять собственные с помощью команды SET. Все переменные рассматриваются как строки и в Windows 9x над ними нельзя производить арифметические действия (в отличие от NT), а только конкатенацию (просто слитно 2 переменные без знака «+»). Например, в результате выполнения командного файла:

SET A=Первый

SET B=Второй

SET C=%A%%B%

ECHO Переменная С=%С%

на экран выведется «Переменная С=ПервыйВторой».

Для управления выполнением командных файлов существуют команды приостановки, перехода, условного ветвления, циклов и вызова внешних командных файлов.

Для того, чтобы прервать выполнение командного файла, надо нажать <CTRL> +<C> или <CTRL>+<Break>. Для приостановки с выдачей запроса на нажатие любой клавиши есть команда PAUSE, которую рекомендуется использовать перед выполнением потенциально опасных действий. Например:

 

ECHO Сейчас будут удалены все файлы в каталоге C:\Мои документы

ECHO Для отмены нажмите Ctrl-C

PAUSE

DEL “C:\Мои документы\*.*”

Команда CHOICE

CHOICE [/C[:]варианты] [/N] [/S] [/T[:]c,nn] [текст]

Если в команде не задается текст, то пользователь видит на экране только подсказку.

После выполнения команды CHOICE переменная ERRORLEVEL приобретает значение, равное номеру варианта ответа, что позволяет использовать команду IF для организации ветвления. Если происходит ошибка, CHOICE возвращает 255, прерывание по <CTRL>+<C> или < CTRL >+<Break> - 0. В качестве примера рассмотрим простейшее меню:

@ECHO OFF

ECHO Выберите режим

ECHO 1 - Простой

ECHO 2 - Расширенный

ECHO.

CHOICE /c:12 Введите пункт меню

IF ERRORLEVEL 2 goto Choice2

IF ERRORLEVEL 1 goto Choice 1

ECHO Выход из меню

GOTO Done

:Choice1

ECHO Выбран пункт 1

GOTO Done

:Choice2

ECHO Выбран пункт 2

GOTO Done

:Done

Рассмотрим подробно ключи этой команды:

Ключ Описание Пример На экране
задает варианты ответа, по умолчанию YN CHOICE /C:ync Как дела? Yes, No, Cancel [Y, N, C]? Как дела
/N выводит только текст без вариантов ответа (клавиши для ответа работают) CHOICE /N Ну как Ну как
/S учет регистра символов (по умолчанию верхний и нижний воспринимаются одинаково)    
/T c – символ по умолчанию, который вводится после указанной в nn секунд паузы CHOICE /c:ync /t:N,10 [Y, N, C]? (после 10 сек выбирается N)

Примеры заданий

1. Пусть имеется текстовый файл protokol.txt, в котором хранится журнал обработанных файлов в следующем формате:

<имя файла> <дата> <время>

Слово дата здесь начинается в каждой строке с двадцатой позиции.

Необходимо написать командный файл, с помощью которого сделать выборку из этого файла (т. е. создать новый текстовый файл с нужной информацией) за заданный месяц (мм) и год (гггг) в файл ммгггг-.txt, сформированный файл упорядочить по дате обработки. Нужные месяц и год указать как параметры командной строки.

Решение:

Практически все нужные действия выполняются с помощью конвейеризации команд find и sort:

@ЕСНО OFF

RЕМ Проверка наличия параметров командной строки

IF -%1==- GOTO NoParam

IF -%2==- GOTO NoParam

REM Выделение нужных строк из файла protokol.txt

FIND "%1.%2" protokol.txt | SORT /+26 > %l%2.txt

GOTO End

:NoParam

ECHO He заданы необходимые параметры командной строки!

PAUSE

:End

 

2. Написать командный файл, который будет копировать из текущего каталога все файлы с расширением txt, кроме одного файла, указанного в качестве второго параметра командной строки, в каталог, указанный первым параметром. Если имя каталога, в который должно производиться копирование, не задано, то вывести сообщение об этом и прервать выполнение файла.

Решение

Для выполнения поставленной задачи можно перебрать в цикле все файлы с расширением txt, проверяя перед копированием имя каждого из этих файлов:

@ЕСНО OFF

REM Проверка наличия параметра командной строки

IF -%!==- GOTO NoDir

RЕМ Копирование нужных файлов

FOR %%f IN (*.txt) DO IF NOT -%%f==-%2 COPY %%f %1

GOTO End

:NoDir

ECHO He указан каталог для копирования!

PAUSE

:End

 

3. Задание аналогично второму упражнению. Дополнительные требования:

а) переписывать только те файлы, которые новее одноименных в каталоге - приемнике,

б) не прерывать копирование в случае возникновения ошибки,

в) записывать в файл logcopy.txt имя каждого копируемого файла и результат выполнения операции для него.

Другими словами, файл logcopy.txt должен быть примерно таким:

Успешно: а.txt

Ошибка: b.txt

Успешно: с.txt

 

Решение

В этом упражнении нужно создать два пакетных файла. В основном файле работает такой же цикл for, как и в предыдущем упражнении, однако вместо непосредственного выполнения команды copy здесь вызывается командный файл 3_1. bat:

@ЕСНО OFF

REM Проверка наличия параметра командной строки

IF -%1==- GOTO NoDir

REM Вызов в цикле файла 3_l.bat для копирования нужного файла

FOR %%f IN (*.txt) DO IF NOT -%%f=-%2 CALL 3_l.bat %%f %1

GOTO End

:NoDir

ECHO He указан каталог для копирования!

PAUSE

:End

Вызываемый в цикле файл 3_1.bat имеет следующее содержимое:

@ЕСНО OFF

REM Копирование файла

XCOPY %1 %2 /D /С > NUL

REM Проверка успешности копирования

IF ERRORLEVEL 0 GOTO Success

REM Запись в файл отчета информации об ошибке при копировании

ECHO Ошибка: % 1 >> logcopy.log

GOTO End

:Success

REM Запись в файл отчета информации об успешном копировании

ECHO Успешно: %1 >> logcopy.log

:End

4. Создать командный файл, который выводил бы содержимое каталога, указанного в качестве параметра командной строки, причем пользователю должна быть предоставлена возможность выбора с помощью меню устройства для вывода: на экран (информация выводится по одному
экрану), в текстовый файл c:\catalog.txt или на принтер.

Решение

Следующий простой пакетный файл не требует дополнительных пояснений:

@ЕСНО OFF

CLS

IF -%1==- GOTO NoDir

RЕМ Вывод меню на экран

ECHO A - На экран

ECHO Б - В файл C:\catalog.txt

ECHO В - На принтер

КЕМ Вывод подсказки для ввода

CHOICE /С:AБВ Куда выводить содержимое %1

CLS

КЕМ Определение сделанного выбора

IF ERRORLEVEL 3 GOTO DirToPrn

IF ERRORLEVEL 2 GOTO DirToFile

IF ERRORLEVEL 1 GOTO DirToCon

ECHO Выбор не был сделан.

GOTO End

:DirToCon

DIR %1 | MORE

GOTO End

:DirToFile

DIR %1 > C:\catalog.txt

GOTO End

:DirToPrn

DIR %1 > prn

GOTO End

:NoDir

ECHO He указан каталог для сканирования!

PAUSE

:End

Задания

В соответствии с номером студента по списку в журнале, разработать пакетный bat-файл (см. Приложение 3). В пакетных файлах предусмотреть сообщение имени, назначения, применения и автора пакетного файла (при пустой командной строке и по ключу /?), контроль верности командной строки, наличие требуемых файлов и сохранность имени пакетного файла. Текущий каталог не изменять, если это специально не оговорено. Там, где необходимо, имена файлов указывать с полным путем и диском. С клавиатуры при работе пакетного файла вводить только числа, строковые данные выбирать либо из меню, либо передавать в командной строке.

 

Лабораторные работы № 3-5
ПРОГРАММИРОВАНИЕ В WINDOWS SCRIPT HOST

Цель работы: изучить сервер сценариев Windows Script Host, объекты WSH и основные операции работы с файловой системой из сценариев WSH.

Простейший скрипт

Простейший WSH-сценарий, написанный на языке JScript или VBScript, - это обычный текстовый файл с расширением js или vbs соответственно, создавать его можно в любом текстовом редакторе, способном сохранять документы в формате «Только текст».

В качестве первого примера создадим сценарий, выводящий на экран диалоговое окно с надписью "Привет!"

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

/* Файл: First.js */

/* Язык: JScript */

/* Описание: Вывод на экран простого диалогового окна*/

/* Автор: <Ваша фамилия> */

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

WScript.Echo ("Привет!"); //Создание диалогового окна

//с надписью "Привет!"

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

Для запуска данного скрипта достаточно выполнить кликнуть на него или в командной строке набрать wscript (cscript – консольная версия) и имя скрипта.

Объекты WSH

1. WScript. Это главный объект WSH, который служит для создания других объектов или связи с ними, содержит сведения о сервере сценариев, а также позволяет вводить данные с клавиатуры и выводить информацию на экран или в окно Windows.

2. WshArguments. Обеспечивает доступ к параметрам командной строки запущенного сценария или ярлыка Windows.

3. WshNamed. Обеспечивает доступ к именным параметрам командной строки запущенного сценария.

4. WshUnnamed. Обеспечивает доступ к безымянным параметрам командной строки запущенного сценария.

5. WshShell. Позволяет запускать независимые процессы, создавать ярлыки, работать с переменными среды, системным реестром и специальными папками Windows.

6. WshSpecialFolders. Обеспечивает доступ к специальным папкам Windows.

7. WshShortсut. Позволяет работать с ярлыками Windows.

8. WshUrlShortсut. Предназначен для работы с ярлыками сетевых ресурсов.

9. WshEnvironment. Предназначен для работы с переменными среды (для просмотра, изменения и удаления переменных среды).

10. WshNetwork. Используется при работе с локальной сетью: содержит сетевую информацию для локального компьютера, позволяет подключать сетевые диски и принтеры.

11. WshScriptExec. Позволяет запускать консольные приложения в качестве дочерних процессов, обеспечивает контроль этих приложений и доступ к их стандартным входным и выходным потокам.

12. WshController. Позволяет запускать сценарии на удаленных машинах.

13. WshRemote. Позволяет управлять сценарием, запущенным на удаленной машине.

14. WshRemoteError. Используется для получения информации об ошибке, возникшей в результате выполнения сценария, запущенного на удаленной машине.

Кроме этого, имеется объект FileSystemObject, обеспечивающий доступ к файловой системе компьютера.

Объект WScript

Объект WScript объект можно использовать сразу, без какого-либо предварительного описания или создания, т.к. его экземпляр создается сервером сценариев WSH автоматически. Для использования же других объектов нужно использовать либо метод CreateObject, либо определенное свойство другого объекта. Объект WScript поддерживает несколько свойств и методов (Приложение 4).

Задания

В соответствии с номером студента по списку в журнале разработать скрипт (сценарий) (см. таблицу). В комментариях описать применение программы и сообщить информацию об авторе. Текущий каталог не изменять, если это специально не оговорено. Если производится копирование из одного места в другое, параметры источника и назначения передавать в командной строке.

В лабораторной работе № 3 необходимо:

1) вывести данные об авторе и задании (WScript.echo);

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

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

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

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

"Выполнил ст-т гр. XX-XX\n";

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

 

2) необходимые параметры передавать через командную строку (WScript.Arguments);

Пример на занесение параметров командной строки в массив 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) выполнить файловую операцию по вариантам (FileSystemObject);

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

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);

 

Пример на вывод дат создания (изменения, последнего обращения) и атрибутов файла, указанного в командной строке:

 

var file = "C:\\Autoexec.bat"; // файл автозагрузки

// извлекам параметры командной строки - там имя файла

var objArgs = WScript.Arguments; // коллекция аргументов

if (objArgs.length > 0) // кол-во аргументов > 0

file = objArgs(0); // получаем первый аргумент

// Создание FileSystemObject для доступа к файловой системе

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

// проверка существования файла

if (! FSO.FileExists(file))

{

WScript.Echo("Ошибка:", file, " не существует");

WScript.Quit(1);

}

var F = FSO.GetFile(file); // извлекаем в объект файл

// Теперь извлекаем информацию о файле

var s = "Файл: \t\t" + F.Name + "\n"; // имя файла

// даты создания, изменения, последнего обращения

var D1 = new Date(F.DateCreated); // создаем объект дата

// конвертируем в удобоваримый формат

s += "Создан: \t\t" + D1.toLocaleDateString() + "\n";

var D2=new Date(F.DateLastModified);//создаем объект дата

s += "Изменен: \t" + D2.toLocaleDateString() + "\n";

var D3=new Date(F.DateLastAccessed);//создаем объект дата

s += "Обращение: \t" + D3.toLocaleDateString() + "\n";

// расшифровка атрибутов

s += "Атрибуты: \t";

var attrib = F.Attributes;

if ((attrib & 0x01)!= 0) // Read-only

s += "R ";

if ((attrib & 0x02)!= 0) // Hidden

s += "H ";

if ((attrib & 0x04)!= 0) // System

s += "S ";

if ((attrib & 0x20)!= 0) // Archive

s += "A ";

if ((attrib & 0x800)!= 0) // Compressed (Windows NT)

s += "C ";

WScript.Echo(s); // вывод на экран

 

4) записать протокол выполненных дествий во внешний log-файл (объект TextStream).

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

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

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

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

var D = new Date();

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

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

F.Close();

 

В работе № 4 необходимо:

1) предусмотреть поле ввода необходимых данных по вариантам (вызов функции InputBox языка VBScript в Jscript возможен при создании сценария WSF с XML-разметкой);

<job id="InputBox">

<script language="VBScript">

Function InputName ' Описываем функцию на языке VBScript

' Вводим имя в диалоговом окне

InputName = InputBox("Введите Ваше имя:",

"Окно ввода VBScript")

End Function

</script>

<script language="JScript">

var s;

s = InputName(); // Вызываем функцию InputName

// Выводим значение переменной s на экран

WScript.Echo("Здравствуйте, "+s+"!");

</script>

</job>

2) произвести контроль вводимых данных (на соответствие датам, строкам, числам и пр.);

var args = WScript.Arguments; // коллекция аргументов

var n = args.Count();

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

if (n==0) {

WScript.echo("Задайте аргумент в командной строке!");

WScript.Quit(); // выход из сценария

}

var s = args(0);

if (isNaN(s))

{

WScript.echo("Аргумент - Not A Number!");

WScript.Quit(); // выход из сценария

}

m = parseInt(s);

if (! isFinite(m))

{

WScript.echo("Аргумент не является числом!");

WScript.Quit(); // выход из сценария

}

WScript.echo("Вы ввели число "+m);

3) создать диалог для подтверждения операций (MsgBox или Popup).

var WshShell, Res, Text, Title; // Объявление переменных

// Инициализация констант для диалоговых окон

var vbOkCancel=1, vbOk=1;

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

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

Text = "Вы действительно хотите удалить файлы?";

Title = "Сообщение";

// Вывод диалогового окна на экран

Res=WshShell.Popup(Text,0, Title, vbOkCancel);

// Определение, какая из кнопок была нажата в диалоговом окне

if (Res==vbOk)

WshShell.Popup ("Нажата кнопка ОК");

else

WshShell.Popup ("Нажата кнопка Отмена");

 

В работе № 5 необходимо:

Записать информацию о всех файлах (каталога) в таблицу MS Word или Excel, состоящую из 4 колонок – порядковый номер, имя файла, расширение (дата, размер и т.п. – в зависимости от задания в 3-ей работе), выполненное действие. После заполнения таблицы должна быть произведена сортировка по 3-ей колонке. В следующем примере в таблицу MS Word заносятся все подкаталоги текущего каталога, затем производится сортировка по их размеру:

var WA, // экземпляр объекта Application

WD; // экземпляр объекта Document

var n, WshShell, F, Fold, fname, fsize, i1,Cur, put;

i1= 0; // кол-во подкаталогов

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

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

// создаем объект FileSystemObject

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

F = FSO.GetFolder(WshShell.CurrentDirectory);

Fold = new Enumerator(F.SubFolders);

n= F.SubFolders.Count;

WScript.Echo("Количество каталогов "+n);

fname= new Array(n);

fsize= new Array(n);

put= F.Path;

for (;!Fold.atEnd();Fold.moveNext()) {

// извлекаем текущий элемента коллекции

Cur=Fold.item();

fname[i1]=Cur.Name;

fsize[i1]= parseInt(Cur.Size/1024);

i1++ }

var wdCell=12,wdAlignParagraphLeft=0,wdAlignParagraphCenter=1,

wdWindowStateMaximize=1;

// создаем объект Application

WA=WScript.CreateObject("Word.Application");

WD=WA.Documents.Add();// создаем новый документ

WA.Visible=true; // делаем окно Winword видимым

WA.WindowState=wdWindowStateMaximize; // Максимизируем окно var count,text1,text2;

WA.Selection.TypeText(" В директории "+put+ " существуют следующие каталоги: ");

WA.Selection.TypeText("*************************************");

WA.ActiveDocument.Tables.Add(WA.Selection.Range,3,2,1,1);

WA.Selection.Font.Color = 255;

WA.Selection.TypeText("Каталог");

WA.Selection.MoveRight(wdCell);

WA.Selection.Font.Color = 255;

WA.Selection.TypeText("Размер в Кб");

WA.Selection.MoveRight(wdCell);

count= 0;

while (count!= n) {

text1=fname[count];

text2=fsize[count]+"";

WA.Selection.TypeText(text1);

WA.Selection.MoveRight(wdCell);

WA.Selection.TypeText(text2);

WA.Selection.MoveRight(wdCell);

count++;

WScript.Sleep(100);

}

WA.Selection.Sort(0,"столбцам 2",1,0,"",0,0,"",0,0,0,1,0);

 

Третья, четвертая и пятая работа должны находится в одном исходном файле. Программа будет обрабатывать аргументы командной строки, либо, при их отсутствии, предлагать диалог ввода. Протокол работы ведется как в текстовом файле, так и во внешнем приложении – MS Word или Excel.

Библиографический список

1. Финогенов MS-DOS: Самоучитель по системным функциям, Горячая линия-телеком, 2001. - 382 с.

2. Панкратов Операционная система MS-DOS 6.22: Справочное пособие, Познавательная книга плюс, 2001. - 224 с.

3. Губин А. Работа в MS-DOS для всех: Практическое пособие, Радио и связь, 1993. - 160 с.

4. Франкен Г., Молявко С. MS-DOS 6.2 для пользователя. Киев: BHV, 1994; Москва: БИНОМ, 1994.

5. Фигурнов В. IBM PC для пользователя. – Уфа: НПО “Информатика и Компьютеры”, 1993.

6. Руководство по программированию под управлением MS DOS: Пер.с фр./Пьеро Ф., Люкзак Ж.-Л., Рейко Ф.; Под ред. Пьеро Ф. - М.: Радио и связь, 1995. – 544 с.

7. Попов А. В. Командные файлы и сценарии Windows Script Host, BHV-СПб, 2003. - 320 с.

8. Торрес Дж. Скрипты для администратора Windows. Специальный справочник. - Питер: 2002: - 336 с.

10. Борн Г. Руководство разработчика на Microsoft Windows Script Host 2.0. Мастер-класс (+CD)/ Пер. с англ. – СПб.: Издательско-торговый дом «Русская Редакция», 2001. – 480 стр.: ил.

11. Экк Сценарии ADSI для системного администрирования Windows NT/2000, Вильямс, 2000. - 576 с.

 

 

Приложение 1

Приложение 2

Приложение 3

Задание к лабораторным работам № 1-2

Задание
  Разработать пакетный файл для обновления архива. Выбор архиватора осуществляется из меню. Имя архива передается в командной строке.
  Разработать пакетный файл для очистки подкаталога с подтверждением.
  Разработать пакетный файл для проверки дисков (каталогов) на вирусы. Диск выбирается из меню. Имя антивирусной программы - в командной строке (drwebw.exe).
  Разработать пакетный файл для выбора из меню на запуск одного из нескольких редакторов (notepad, ncedit и др.) для редактирования требуемого файла. Имя файла передается в командной строке.
  Разработать пакетный файл для архивации файлов в каталогах и подкаталогах (по отдельности в каждом каталоге) и удаления архивных файлов. Имена каталога и архиватора - в командной строке.
  Разработать пакетный файл для построения системы студенческих каталогов с запросом на создание каталогов требуемых курсов, групп и запросом максимального числа пользователей в группе. Номера курсов и шифры групп - в командной строке.
  Разработать пакетный файл для перехода студента в личный каталог. Группа выбирается из меню, курс передается в командной строке
  Разработать пакетный файл для установки даты и времени (параметры – в командной строке)
  Разработать пакетный файл для очистки студенческих каталогов: удаления файлов *.BAK, *.TMP и др. Номера очищаемых курсов передаются в командной строке.
  Разработать пакетный файл для вывода (на экран, файл, принтер) списка файлов из каталогов студентов. Шифр группы - из командной строки, направление вывода - из меню.
  Разработать пакетный файл для перехода в каталог студента, если он существует и его архивирования
  Разработать пакетный файл для вывода текстового файла на экран по страницам. Имя файла передается в командной строке.
  Разработать пакетный файл для перезаписи файлов документов (*.doc, *.txt) из одного каталога в другой с обновлением
  Разработать пакетный файл для копирования всех файлов документов (*.doc, *.txt) из всех студенческих подкаталогов в директорию «Мои документы»
  Разработать пакетный файл для проверки наличия файлов документов (*.doc, *.txt) в данном подкаталоге (имя – в параметрах). В случае положительного ответа – вывести их список

Приложение 4

Свойства объекта WScript

Свойство Описание
Application Предоставляет интерфейс IDispatch (интерфейс сервера сценариев) для объекта WScript
Arguments Содержит указатель на коллекциюWshArguments, содержащую параметры командной строки для исполняемого сценария
FullName Содержит полный путь к исполняемому файлу сервера сценариев (в Windows 2000/XP обычно это C:\WINDOWS\system32\csript.exe для консольной версии WSH или C:\WINDOWS\system32\wsript.exe для оконной версии)
Name Содержит название объекта WScript (Window Scripting Host)
Path Содержит путь к каталогу, в котором находится wscript.exe или cscript.exe (в Windows 2000/XP обычно это C:\WINDOWS\system32)
ScriptFullName Содержит полный путь к запущенному сценарию
ScriptName Содержит имя запущенного сценария
StdErr Позволяет запущенному сценарию записывать сообщения в стандартный поток для ошибок
StdIn Позволяет запущенному сценарию читать информацию из стандартного входного потока
StdOut Позволяет запущенному сценарию записывать информацию в стандартный выходной поток
Version Содержит версию WSH

Приложение 5

Методические указания

к лабораторным работам по дисциплине

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

 

Составитель: Беликова Наталья Валентиновна

 
 


Редактор И.Н. Шиповская

Темплан 2008. Подписано в печать 25.04. 2008.

Формат 60х841/16. Бумага офсетная. Ризография.

Усл.-печ.л. 2,32. Уч.-изд. л. 2,5. Тираж 50.

 
 


Южно-Российский государственный технический университет

Адрес ун-та: 346428, г. Новочеркасск, ул. Просвещения, 132

Шахтинский институт (филиал) ЮРГТУ (НПИ)

Адрес ин-та: 346500, г. Шахты, пл. Ленина, 1

 

МЕТОДИЧЕСКИЕ УКАЗАНИЯ

к лабораторным работам по дисциплине

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

 

Новочеркасск 2008


УДК 389(07)

 

 

Рецензент – канд. техн. наук А.И. Бондаренко

 

Составитель Беликова Н.В.

 

Методические указания к лабораторным работам по дисциплине «Операционные системы, среды и оболочки» / Сост. Н.В. Беликова; Шахтинский ин-т (филиал) ЮРГТУ (НПИ). – Новочеркасск: ЮРГТУ, 2008. - 40. – 50 экз.

 

Методические указания включают теоретический материал для знакомства с правилами организации командных bat-файлов и VSH – сценариев, примеры их написания и варианты заданий к выполнению лабораторных работ. Предназначены для студентов 2-го курса специальностей 080801 – «Прикладная информатика в юриспруденции», 080801 – «Прикладная информатика в экономике», обучающихся на факультете ОЗЗДО.

 

УДК 389(07)

© Шахтинский институт ЮРГТУ, 2008

© Беликова Н.В., 2008

 
 

СОДЕРЖАНИЕ

 


Лабораторная работа № 1
КОМАНДНЫЙ ИНТЕРПРЕТАТОР COMMAND.COM... 4

Переменные окружения. 5

Основные команды для работы с файловой системой. 6

Лабораторная работа № 2
ПРОГРАММИРОВАНИЕ КОМАНДНЫХ BAT-ФАЙЛОВ В WINDOWS 11

Команда ECHO.. 11

Команды для организации циклов. 12

Команда CHOICE.. 14

Особенности командных файлов в Windows NT-XP. 15

Примеры заданий. 19

Задания. 22

Лабораторные работы № 3-5
ПРОГРАММИРОВАНИЕ В WINDOWS SCRIPT HOST.. 23

Cервер сценариев Windows Script Host 23

Простейший скрипт. 24

Объекты WSH.. 24

Объект WScript 25

Задания. 26

Библиографический список. 31

Приложение 1. 32

Приложение 2. 33

Приложение 3. 35

Приложение 4. 36

Приложение 5. 37

Приложение 6. 38

 

Лабораторная работа № 1
КОМАНДНЫЙ ИНТЕРПРЕТАТОР COMMAND.COM

Цель работы: изучить возможности работы интерпретатора COMMAND.COM и программы cmd.exe; основные команды интерпретатора и ключи.

COMMAND.COM — название интерпретатора командной строки операционной системы DOS и 16/32-битных операционных систем Microsoft Windows (95/98/98 SE/Me). COMMAND.COM запускается при старте системы перед всеми остальными программами и выполняет команды из файла AUTOEXEC.BAT.

В качестве интерпретатора командной строки, COMMAND.COM имеет два режима работы. Первый режим — интерактивный, когда пользователь вводит с клавиатуры команды, которые немедленно выполняются. Второй режим — пакетный, когда COMMAND.COM выполняет заранее определённую последовательность команд, сохранённых в файлах с расширением.BAT. Функции аналогичны командным интерпретаторам Unix-совместимых операционных систем, с тем отличием, что COMMAND.COM имеет более ограниченный набор возможностей.

Программа cmd.exe выполняет роль COMMAND.COM в операционных системах Windows NT/2000/XP/2003 и OS/2. В этих системах также присутствует COMMAND.COM для совместимости с DOS-приложениями.

Некоторые команды распознаются и выполняются самим командным процессором – они называются внутренними, другие представляют собой отдельные программы – их называют внешними (утилитами).

Полный перечень внутренних команд интерпретатора приводится в приложении 1.

Все остальные команды являются внешними и хранятся в виде исполняемых файлов в папке C:\Windows\Command.

Для работы с командной строкой в Windows можно выполнить Пуск/Программы/Сеанс MS-DOS, запустить файл command.com непосредственно или использовать файловые менеджеры FAR, Norton Commander.

При запуске cоmmand.com можно использовать различные ключи.



Поделиться:


Последнее изменение этой страницы: 2016-12-17; просмотров: 939; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.219.63.90 (0.331 с.)