Главная страница
Навигация по странице:

  • Контрольные вопросы

  • Отчёт_лаб2. Лабораторная работа 2 интерпретатор командной строки ос ms windows часть Язык интерпретатора и командные файлы


    Скачать 263.64 Kb.
    НазваниеЛабораторная работа 2 интерпретатор командной строки ос ms windows часть Язык интерпретатора и командные файлы
    Дата12.10.2022
    Размер263.64 Kb.
    Формат файлаdocx
    Имя файлаОтчёт_лаб2.docx
    ТипЛабораторная работа
    #730858

    ЛАБОРАТОРНАЯ РАБОТА №2 ИНТЕРПРЕТАТОР КОМАНДНОЙ СТРОКИ ОС MS WINDOWS

    Часть 2. Язык интерпретатора и командные файлы

    Цель работы – знакомство с языком интерпретатора командной строки

    ОС MS Windows и командными файлами.



    1. Вывод на экран имен всех файлов с указанным расширением, находящихся в каталоге, имя которого задается при запуске командного файла первым параметром. Расширение файлов задается вторым параметром.



    1. Среди введенных с клавиатуры целых чисел (использовать SET /P) найти наибольшее и наименьшее.



    1. В заданном каталоге и его подкаталогах найти общее количество подкаталогов. На экран вывести только требуемый результат.





    1. В каталогах, имена которых заданы первым и вторым параметрами командного файла, найти и вывести на экран имена файлов (расширения могут быть любые), присутствующие как в первом, так и во втором каталоге. Следует использовать только один оператор FOR.





    1. Вычисление и вывод на экран значения факториала целого числа,

    задаваемого при запуске КФ. Предусмотреть проверку заданного

    значения и при задании отрицательного значения или значения,

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

    соответствующие сообщения. Для проверки правильности

    вычислений использовать калькулятор.





    Задание 6: разработать и выполнить КФ в соответствии с табл. 5 (индивидуальные задания для студентов).

    В каталоге, указанном первым параметром КФ, (и его подкаталогах)

    найти файл наибольшего размера с расширением, указанным

    вторым параметром КФ.

    В каталоге, указанном первым параметром КФ, и его подкаталогах, найти файлы, созданные во второй половине рабочего дня (после 14 часов) и скопировать их в отдельный подкаталог.





    Контрольные вопросы

    1. Вывод сообщений и дублирование команд? По умолчанию команды пакетного файла перед исполнением

    выводятся на экран, что выглядит не очень эстетично. С помощью

    команды ECHO OFF можно отключить дублирование команд, идущих

    после нее (сама команда ECHO OFF при этом все же дублируется)

    Для восстановления режима дублирования используется команда

    ECHO ON. Кроме этого, можно отключить дублирование любой отдельной

    строки в командном файле, написав в начале этой строки символ @.

    2.Использование параметров командной строки.

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

    произвольное число параметров, значения которых можно использовать

    внутри файла. Это позволяет, например, применять один и тот же

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

    Для доступа из командного файла к параметрам командной строки

    применяются символы %0, %1, …, %9 или %*. При этом вместо %0

    подставляется имя выполняемого пакетного файла, вместо %1, %2, …, %9

    — значения первых девяти параметров командной строки соответственно,

    а вместо %* — все аргументы. Если в командной строке при вызове

    пакетного файла задано меньше девяти параметров, то "лишние"

    переменные из %1 – %9 замещаются пустыми строками.

    3.Переменные среды, получение и изменение их значений.

    Для получения значения определенной переменной среды нужно заключить имя этой переменной в символы %. Например:

    SET MyVar=Привет

    4.Операции со строковыми и числовыми переменными.

    При включенной расширенной обработке команд (этот режим в Windows используется по умолчанию) имеется возможность рассматривать значения переменных среды как числа и производить с ними арифметические вычисления (используются ТОЛЬКО целые числа). Для этого используется команда SET с ключом /A.

    5. Проверка существования заданного файла и наличия переменной

    среды.

    IF [NOT] EXIST файл команда1 [ELSE команда2]

    DEFINED

    6. Выполнение заданной команды для всех элементов указанного множества.

    Цикл FOR … IN … DO … Самый простой вариант синтаксиса команды FOR для командных файлов имеет следующий вид:

    FOR %%переменная IN (множество) DO команда [параметры]

    7. Выполнение заданной команды для всех подходящих имен файлов.

    FOR %%f IN (C:\TEXT\*.txt C:\TEXT\*.prn) DO ECHO %%f >> list.txt

    8. Выполнение заданной команды для всех подходящих имен каталогов.

    FOR /D %переменная IN (набор) DO команда [параметры] В случае, если набор содержит подстановочные знаки, то команда выполняется для всех подходящих имен каталогов, а не имен файлов. Скажем, выполнив следующий командный файл:

    9. Выполнение заданной команды для определенного каталога, а также всех его подкаталогов.

    С помощью ключа /R можно задать рекурсию в команде FOR: FOR /R [[диск:] путь] %переменная IN (набор) DO команда [параметры]

    10. Получение последовательности чисел с заданными началом, концом и шагом приращения.

    Ключ /L позволяет реализовать с помощью команды FOR цикл со счетчиком, в этом случае синтаксис имеет следующий: вид: FOR /L %переменная IN (начало, шаг, конец) DO команда [параметры]

    11.Чтение и обработка строк из текстового файла. Самые широкие возможности имеет команда FOR с ключом /F: FOR /F ["ключи"] %переменная IN (набор) DO команда [параметры].

    12. Команда Findstr. Назначение. Ключи. Использование регулярных выражений в команде. Задание и использование класса цифр и класса букв через диапазон. Команда Findstr и ее использование в цикле Назначение команды - поиск строк в текстовых файлах. FINDSTR [/B] [/E] [/L] [/R] [/S] [/I] [/X] [/V] [/N] [/M] [/O] [/P] [/F:файл] [/C:строка] [/G:файл] [/D:список_папок] [/A:цвета] [/OFF[LINE]] строки [[диск:][путь]имя_файла[ ...]]

    /L-Поиск строк дословно.

    /R-Поиск строк как регулярных выражений.

    /S-Поиск файлов в текущей папке и всех ее подпапках.

    /I-Определяет, что поиск будет вестись без учета регистра.

    /X-Печатает строки, которые совпадают точно.

    /V-Печатает строки, не содержащие совпадений с искомыми.

    /N-Печатает номер строки, в которой найдено совпадение, и ее содержимое.

    /M-Печатает только имя файла, в которой найдено совпадение.

    /O-Печатает найденный строки через пустую строку

    /P-Пропускает строки, содержащие непечатаемые символы.

    /F:файл-Читает список файлов из заданного файла (/ для консоли).

    /C:строка-Использует заданную строку как искомую фразу поиска.

    /D:список_папок-Поиск в списке папок (разделяются точкой с запятой).

    Краткая сводка по синтаксису регулярных выражений: . - Любой символ. * Повтор: ноль или более вхождений предыдущего символа или класса

    ^ Позиция в строке: начало строки

    $ Позиция в строке: конец строки

    [класс] Класс символов: любой единичный символ из множества

    [^класс] Обратный класс символов: любой единичный символ из дополнения

    [x-y] Диапазон: любые символы из указанного диапазона

    \x Служебный символ: символьное обозначение служебного символа x

    +\
    xyz\> Позиция в слове: в конце слова

    13. Операторы перехода и вызова. Командный файл может содержать метки и команды GOTO перехода к этим меткам. Любая строка, начинающаяся с двоеточия :, воспринимается при обработке командного файла как метка. Имя метки задается набором символов, следующих за двоеточием до первого пробела или конца строки. В команде перехода внутри файла GOTO можно задавать в качестве метки перехода строку :EOF, которая передает управление в конец текущего пакетного файла (это позволяет легко выйти из пакетного файла без определения каких-либо меток в самом его конце).

    Для перехода к метке внутри текущего командного файла кроме команды GOTO можно использовать и рассмотренную выше команду CALL:

    CALL :метка аргументы

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

    14. Какое минимальное количество строк (включая @echo off) должен иметь командный файл, выводящий на экран минимальное значения двух числовых аргументов? Одна строка.

    15. Какое минимальное количество строк (включая @echo off) должен иметь командный файл, выводящий на экран минимальное значения трех числовых аргументов? Одна строка.


    написать администратору сайта