Главная » Просмотр файлов » ОС Лаб.работа №5

ОС Лаб.работа №5 (1069344), страница 6

Файл №1069344 ОС Лаб.работа №5 (Лабораторные работы) 6 страницаОС Лаб.работа №5 (1069344) страница 62017-12-28СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 6)

Например:IF ERRORLEVEL LEQ 1 GOTO Case1Замечание.Операционные системы. Лаб.работа №5 (ОС Windows. Командная строка CMD.Командные файлы)36Иногда более удобным для работы с кодами завершения программможет оказаться использование переменной %ERRORLEVEL%. (строковоепредставление текущего значения кода ошибки ERRORLEVEL ).2.12 Проверка версии реализации расширенной обработки командНаконец, для определения внутреннего номера версии текущейреализации расширенной обработки команд применяется оператор IF вследующем виде:IF CMDEXTVERSION число команда1 [ELSE команда2]Здесь условие CMDEXTVERSION применяется подобно условиюERRORLEVEL, но число сравнивается с вышеупомянутым внутреннимномером версии. Первая версия имеет номер 1. Номер версии будетувеличиватьсянаединицуприкаждомдобавлениисущественныхвозможностей расширенной обработки команд.

Если расширенная обработкакоманд отключена, условие CMDEXTVERSION никогда не бывает истинно.2.13 Организация цикловВ командных файлах для организации циклов используются несколькоразновидностей оператора FOR, которые обеспечивают следующие функции: выполнение заданной команды для всех элементов указанногомножества; выполнение заданной команды для всех подходящих имен файлов; выполнение заданной команды для всех подходящих имен каталогов; выполнение заданной команды для определенного каталога, а такжевсех его подкаталогов; получение последовательности чисел с заданными началом, концом ишагом приращения; чтение и обработка строк из текстового файла; обработка строк вывода определенной команды.2.13.1 Цикл FOR … IN … DO …Операционные системы.

Лаб.работа №5 (ОС Windows. Командная строка CMD.Командные файлы)37Самый простой вариант синтаксиса команды FOR для командных файловимеет следующий вид:FOR %%переменная IN (множество)DO команда [параметры]Перед названием переменной должны стоять именно два знака процента(%%), а не один, как это было при использовании команды FORнепосредственно из командной строки.Пример. Если в командном файле заданы строки@ECHO OFFFOR %%i IN (Раз,Два,Три) DO ECHO %%iто в результате его выполнения на экране будет напечатано следующее:РазДваТриПараметр множество в команде FOR задает одну или более текстовыхстрок, разделенных запятыми, которые вы хотите обработать с помощьюзаданной команды. Скобки здесь обязательны. Параметр команда [параметры]задает команду, выполняемую для каждого элемента множества, при этомвложенность команд FOR на одной строке не допускается.

Если в строке,входящей во множество, используется запятая, то значение этой строки нужнозаключить в кавычки. Например, в результате выполнения файла с командами@ECHO OFFFOR %%i IN ("Раз,Два",Три) DO ECHO %%iна экран будет выведеноРаз,ДваТриПараметр %%переменная представляет подставляемую переменную(счетчик цикла), причем здесь могут использоваться только именапеременных, состоящие из одной буквы.

При выполнении команда FORзаменяет подставляемую переменную текстом каждой строки в заданномОперационные системы. Лаб.работа №5 (ОС Windows. Командная строка CMD.Командные файлы)38множестве, пока команда, стоящая после ключевого слова DO, не обработаетвсе такие строки.Замечание.Чтобы избежать путаницы с параметрами командного файла %0 — %9,для переменных следует использовать любые символы кроме 0 – 9.Параметр множество в команде FOR может также представлять однуили несколько групп файлов. Например, чтобы вывести в файл список всехфайлов с расширениями txt и prn, находящихся в каталоге C:\TEXT, безиспользования команды DIR, можно использовать командный файлследующего содержания:@ECHO OFFFOR %%f IN (C:\TEXT\*.txt C:\TEXT\*.prn) DO ECHO %%f >> list.txtПритакомиспользованиикомандыFORпроцессобработкипродолжается, пока не обработаются все файлы (или группы файлов),указанные во множестве.2.13.2 Цикл FOR /D … IN … DO …Следующий вариант команды FOR реализуется с помощью ключа /D:FOR /D %%переменная IN (набор) DO команда [параметры]В случае, если набор содержит подстановочные знаки, то командавыполняется для всех подходящих имен каталогов, а не имен файлов.Выполнив следующий командный файл:@ECHO OFFCLSFOR /D %%f IN (C:\*.*) DO ECHO %%fмы получим список всех каталогов на диске C:, например:C:\ArcC:\CYRC:\MSCANC:\NCОперационные системы.

Лаб.работа №5 (ОС Windows. Командная строка CMD.Командные файлы)39C:\Program FilesC:\TEMPC:\TeXC:\WINNT2.13.3 Цикл FOR /R … IN … DO …С помощью ключа /R можно задать рекурсию в команде FOR:FOR /R [[диск:]путь] %%переменная IN (набор)DO команда [параметры]В этом случае заданная команда выполняется для каталога [диск:]путь,а также для всех подкаталогов этого пути.

Если после ключа R не указано имякаталога, то выполнение команды начинается с текущего каталога. Например,для распечатки всех файлов с расширением txt в текущем каталоге и всех егоподкаталогах можно использовать следующий пакетный файл:@ECHO OFFCLSFOR /R %%f IN (*.txt) DO PRINT %%fЕсли вместо набора указана только точка (.), то команда проверяет всеподкаталоги текущего каталога. Например, если мы находимся в каталогеC:\TEXT с двумя подкаталогами BOOKS и ARTICLES, то в результатевыполнения файла:@ECHO OFFCLSFOR /R %%f IN (.) DO ECHO %%fна экран выведутся три строки:C:\TEXT\.C:\TEXT\BOOKS\.C:\TEXT\ARTICLES\.2.13.4 Цикл FOR /L … IN … DO …Операционные системы.

Лаб.работа №5 (ОС Windows. Командная строка CMD.Командные файлы)40Ключ /L позволяет реализовать с помощью команды FORарифметический цикл, в этом случае синтаксис имеет следующий: вид:FOR /L %%переменная IN (начало,шаг,конец) DO команда [параметры]Здесь заданная после ключевого слова IN тройка (начало, шаг, конец)раскрывается в последовательность чисел с заданными началом, концом ишагом приращения.

Так, набор (1,1,5) раскрывается в (1 2 3 4 5), а набор (5,1,1) заменяется на (5 4 3 2 1). Например, в результате выполнения следующегокомандного файла:@ECHO OFFCLSFOR /L %%f IN (1,1,5) DO ECHO %%fпеременная цикла %%f пробежит значения от 1 до 5, и на экраненапечатаются пять чисел:12345Числа, получаемые в результате выполнения цикла FOR /L, можноиспользовать в арифметических вычислениях. Рассмотрим командный файлmy.bat следующего содержания:@ECHO OFFCLSFOR /L %%f IN (1,1,5) DO CALL :2 %%fGOTO :EOF:2SET /A M=10*%1ECHO 10*%1=%M%В третьей строке в цикле происходит вызов нового контекста файлаmy.bat с текущим значением переменной цикла %%f в качестве параметраОперационные системы.

Лаб.работа №5 (ОС Windows. Командная строка CMD.Командные файлы)41командной строки, причем управление передается на метку :2 (см. описаниеCALL в разделе "Изменения в командах перехода"). В шестой строкепеременная цикла умножается на десять, и результат записывается впеременную M.

Таким образом, в результате выполнения этого файлавыведется следующая информация:10*1=1010*2=2010*3=3010*4=4010*5=502.13.5 Цикл FOR /F … IN … DO …Самые мощные возможности (и одновременно самый запутанныйсинтаксис) имеет команда: FOR с ключом /F:FOR /F ["ключи"] %%переменная IN (набор)DO команда [параметры]Здесь параметр набор содержит имена одного или нескольких файлов,которые по очереди открываются, читаются и обрабатываются. Обработкасостоит в чтении файла, разбиении его на отдельные строки текста ивыделении из каждой строки заданного числа подстрок. Затем найденнаяподстрока используется в качестве значения переменной при выполненииосновного тела цикла (заданной команды).По умолчанию ключ /F выделяет из каждой строки файла первое слово,очищенное от окружающих его пробелов.

Пустые строки в файлепропускаются.Необязательныйпараметр"ключи"служитдляпереопределения заданных по умолчанию правил обработки строк. Ключипредставляютсобойзаключеннуюприведенные в табл. 4 ключевые слова:Таблица 4. Ключи в команде FOR /Fвкавычкистроку,содержащуюОперационные системы. Лаб.работа №5 (ОС Windows. Командная строка CMD.Командные файлы)КлючОписаниеEOL=CОпределение символа комментариев в начале строки42(допускается задание только одного символа)Число пропускаемых при обработке строк в началеSKIP=NфайлаDELIMS=XXXОпределение набора разделителей для заменызаданных по умолчанию пробела и знака табуляцииTOKENS=X,Y,M-Определение номеров подстрок, выделяемых изNкаждой строки файла и передаваемых для выполненияв тело циклаПрииспользованииключаTOKENS=X,Y,M-Nсоздаютсядополнительные переменные.

Формат M-N представляет собой диапазонподстрок с номерами от M до N. Если последний символ в строке TOKENS=является звездочкой, то создается дополнительная переменная, значениемкоторой будет весь текст, оставшийся в строке после обработки последнейподстроки.Применение этой команды на примере пакетного файла parser.bat,который производит разбор файла myfile.txt:@ECHO OFFIF NOT EXIST myfile.txt GOTO :NoFileFOR /F "EOL=; TOKENS=2,3* DELIMS=, " %%i IN(myfile.txt) DO @ECHO %%i %%j %%kGOTO :EOF:NoFileECHO Не найден файл myfile.txt!Здесь во второй строке производится проверка наличия файла myfile.txt;в случае отсутствия этого файла выводится предупреждающее сообщение.Команда FOR в третьей строке обрабатывает файл myfile.txt следующимобразом:Операционные системы.

Лаб.работа №5 (ОС Windows. Командная строка CMD.Командные файлы)43Пропускаются все строки, которые начинаются с символа точки сзапятой ( EOL=; ).Вторая и третья подстроки из каждой строки передаются в тело цикла,причем подстроки разделяются пробелами (по умолчанию) и/или запятыми (DELIMS=,).В теле цикла переменная %%i используется для второй подстроки, %%j— для третьей, а %%k получает все оставшиеся подстроки после третьей.В нашем примере переменная %%i явно описана в инструкции FOR, апеременные %%j и %%k описываются неявно с помощью ключа TOKENS=.Например, если в файле myfile.txt были записаны следующие три строки:ААА ББББ ВВВВ,ГГГГГ ДДДДЕЕЕЕЕ,ЖЖЖЖ ЗЗЗЗ;КККК ЛЛЛЛЛ МММММто в результате выполнения пакетного файла parser.bat на экран выведетсяследующее:ББББ ВВВВ ГГГГГ ДДДДЖЖЖЖ ЗЗЗЗЗамечаниеКлюч TOKENS= позволяет извлечь из одной строки файла до 26подстрок,поэтомузапрещеноиспользоватьименапеременных,начинающиеся не с букв английского алфавита (a–z).

Характеристики

Тип файла
PDF-файл
Размер
702,53 Kb
Тип материала
Высшее учебное заведение

Список файлов лабораторной работы

Свежие статьи
Популярно сейчас
А знаете ли Вы, что из года в год задания практически не меняются? Математика, преподаваемая в учебных заведениях, никак не менялась минимум 30 лет. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6353
Авторов
на СтудИзбе
311
Средний доход
с одного платного файла
Обучение Подробнее