Загальні відомості про командній оболонці

Командна оболонка це окремий програмний продукт, який забезпечує прямий зв'язок між користувачем і операційною системою. Текстовий інтерфейс командного рядка надає середовище, в якому виконуються програми та службові програми з текстовим інтерфейсом. У командній оболонці програми виконуються і результат виконання відображається на екрані у вигляді, подібному до інтерпретатором Command.com MS-DOS.

Використання декількох команд і символів умовної обробки

Можна виконувати кілька команд з однієї командного рядка або сценарію за допомогою сиволов умовної обробки. При використанні декількох команд, що містять символи умовної обробки, виконання команд, що стоять праворуч від символу умовної обробки, буде проводитися в залежності від результатів виконання команди, що стоїть зліва від символу. Наприклад, потрібно, щоб команда виконувалася, тільки якщо попередня команда не була виконана успішно. Або потрібно, щоб команда виконувалася, тільки якщо попередня команда була виконана успішно.

Для передачі декількох команд можна використовувати спеціальні символи, перераховані в наступній таблиці.

Використовується для поділу декількох команд в одній командному рядку. У Cmd.exe виконується перша команда, потім друга команда.

Запускає команду, яка стоїть за символом . тільки якщо команда, що стоїть перед цим символом була виконана успішно. У Cmd.exe виконується перша команда. Друга команда виконується, тільки якщо перша була виконана успішно.

Запускає команду, яка стоїть за символом ||. тільки якщо команда, що стоїть перед символом || не було виконане. У Cmd.exe виконується перша команда. Друга команда виконується, тільки якщо перша не була виконана (отриманий код помилки перевищує нуль).

Використовується для угруповання або вкладення команд.

Використовується для поділу параметрів команди.

  • Амперсанд (), вертикальна риса (|) і дужки () є спеціальними символами, яким повинен передувати керуючий символ (^) або лапки, якщо ці символи передаються в якості аргументів.
  • Якщо команда завершує операцію успішно, повертається нульовий (0) код помилки або; не повертається ніякого коду.

Вкладені командні оболонки

Є можливість вкладати командні оболонки в Cmd.exe, відкриваючи новий екземпляр Cmd.exe з командного рядка. За замовчуванням кожен екземпляр Cmd.exe успадковує середу свого батьківського додатка Cmd.exe. Вкладення примірників Cmd.exe дозволяє вносити в локальну середу зміни, які не вплинуть на батьківське додаток Cmd.exe. Це дозволяє зберігати вихідну середу Cmd.exe і повертатися до неї після видалення вкладеної командної оболонки. Зміни вкладеної командної оболонки не зберігаються.

Щоб створити вкладену командну оболонку, в командному рядку введіть:

З'явиться повідомлення наступного виду:

Щоб закрити всі вкладені командні оболонки, введіть команду exit.

Можна ще вже локалізувати зміни в екземплярі Cmd.exe (або в сценарії) за допомогою команд setlocal і endlocal. Команда setlocal створює локальну область, а endlocal її видаляє. Будь-які зміни, зроблені всередині області, створеної командами setlocal і endlocal. не враховуються; таким чином вихідна середовище залишається без змін. За допомогою цих команд можна створити до 32 вкладених областей.

Використання змінних середовища в Cmd.exe

Серед командного оболонки Cmd.exe визначається змінними, які задають поведінку командної оболонки і операційної системи. Є можливість визначити поведінку середовища командної оболонки або середовища всієї операційної системи за допомогою двох типів змінних середовища: системних і локальних. Системні змінні середовища визначають поведінку глобального середовища операційної системи. Локальні змінні середовища визначають поведінку середовища в даному екземплярі Cmd.exe.

Системні змінні середовища задані заздалегідь в операційній системі і доступні для всіх процесів Windows XP. Тільки користувачі з привілеями адміністратора можуть змінювати ці змінні. Ці змінні найбільш часто використовуються в сценаріях входу в систему.

Локальні змінні середовища доступні, тільки коли користувач, для якого вони були створені, увійшов в систему. Локальні змінні з куща HKEY_CURRENT_USER підходять тільки для поточного користувача, але визначають поведінку глобального середовища операційної системи.

У наступному списку представлені різні типи змінних в порядку убування пріоритету.

  1. Вбудовані системні змінні
  2. Системні змінні куща HKEY_LOCAL_MACHINE
  3. Локальні змінні куща HKEY_CURRENT_USER
  4. Всі змінні середовища і шляхи вказані в файлі Autoexec.bat.
  5. Всі змінні середовища і шляхи вказані в сценарії входу в систему (якщо він є).
  6. Змінні, що використовуються інтерактивно в сценарії або пакетному файлі

У командній оболонці кожен екземпляр Cmd.exe успадковує середу свого батьківського додатка. Тому можна змінювати змінні в новому середовищі Cmd.exe, що не вплине на середу батьківського додатка.

У наступній таблиці наведено список системних і локальних змінних.

Установка змінних середовища

Використовуйте команду set для створення, видалення або відображення змінних середовища. Команда set змінює змінні тільки в середовищі поточної оболонки.

Щоб відобразити змінну, в командному рядку введіть:

Щоб додати змінну, в командному рядку введіть:

set variablename = значення

Щоб видалити змінну, в командному рядку введіть:

Є можливість використовувати більшість символів в якості значень змінних, в тому числі пробіл. При використанні спеціальних символів, таких як <,>, , Або ^, перед ними слід поміщати керуючий символ (^) або лапки. При використанні лапок вони включаються в значення змінної, так як всі символи, такі після знака рівності приймаються за значення змінної. Врахуйте наступні приклади.

  • Щоб створити значення змінної newname, введіть:
  • Щоб створити значення змінної "newname", введіть:
  • При введенні в командному рядку set varname = newname з'являється таке повідомлення про помилку:
  • В іменах змінних регістр символів не враховується. Однак, команда set відображає значення змінної так, як воно було введено. Можна комбінувати символи нижнього і верхнього регістру в іменах змінних, щоб полегшити сприйняття коду (наприклад, ім'я користувача).

    • Максимальний розмір окремої змінної середовища становить 8192 байт.
    • Максимальний загальний розмір всіх змінних середовища, включаючи імена змінних і знак рівності, становить 65 536 Кбайт.

    Підстановка значень в змінні середовища

    Щоб мати можливість підставляти значення в змінну середовища з командного рядка або зі сценаріїв, слід укласти ім'я відповідної змінної в символи відсотків (% ім'я_змінної%). Символи відсотків вказують на те, що Cmd.exe повинен звернутися до значень змінних, а не робити посимвольного порівняння. Після визначення значення для імені змінної, укладіть ім'я змінної в символи відсотків. Cmd.exe проводить пошук всіх входжень імені змінної і замінює його на певне значення змінної. Наприклад, потрібно створити сценарій, який містить різні значення (наприклад, імена користувачів), і потрібно визначити відповідне значення змінної середовища USERNAME для кожного користувача. Для цього слід написати сценарій з використанням змінної USERNAME, укладеної в лапки. При виконанні сценарію Cmd.exe замінить входження% USERNAME% відповідними значеннями, що позбавить від необхідності робити це вручну для кожного користувача. Підстановка значень не є рекурсивної. Cmd.exe перевіряє змінні один раз. Додаткові відомості про підстановці значень в змінні дивись в розділах For і Call.

    Для питань, обговорень, зауважень, пропозицій і т. П. Можете використовувати розділ форуму цього сайту (потрібна реєстрація).

    Схожі статті