Главная страница

1 лаба. Лабораторна робота 1. Лабораторна робота 1 Інтерпретатор командного рядка ос ms windows частина Зовнішні та внутрішні команди


Скачать 145.47 Kb.
НазваниеЛабораторна робота 1 Інтерпретатор командного рядка ос ms windows частина Зовнішні та внутрішні команди
Анкор1 лаба
Дата04.12.2020
Размер145.47 Kb.
Формат файлаdocx
Имя файлаЛабораторна робота 1.docx
ТипЛабораторна робота
#156683

Лабораторна робота №1

Інтерпретатор командного рядка ОС MS WINDOWS



Частина 1. Зовнішні та внутрішні команди
Мета роботи знайомство з можливостями інтерпретатора командного рядка і командами MS Windows

КОРОТКІ ТЕОРЕТИЧНІ ВІДОМОСТІ



    1. Еволюція інструментів для автоматизації роботи в ОС Microsoft Windows


В даний час графічний інтерфейс Windows став настільки звичним, що багато користувачів і початківці адміністратори навіть не замислюються про альтернативні способи управління даної ОС, пов'язаних з командним рядком (command line) і різними сценаріями (scripts), про ті переваги, які дають ці інструменти з точки зору автоматизації роботи. Подібна ситуація обумовлена тим, що історично командний рядок завжди був слабким місцем операційної системи Windows (в порівнянні з Unix-системами).

При цьому, однак, неправильно було б думати, що командний рядок або сценарії потрібні тільки адміністраторам. Адже щоденні рутинні завдання користувачів (пов'язані, наприклад, з копіюванням або архівуванням файлів, підключенням або відключенням мережевих ресурсів і т.п.), які зазвичай виконуються за допомогою графічного інтерфейсу провідника Windows, можна повністю самостійно автоматизувати, написавши нехитрий командний файл, що складається всього з кількох рядків! Більш того, для людини, яка не знає основні команди Windows і такі базові можливості ОС, як перенаправлення вводу/виводу і конвейеризація команд, деякі найпростіші завдання можуть здатися нетривіальними.

Попробуйте, наприклад, користуючись тільки графічними засобами, сформувати файл, який містить імена файлів з усіх підкаталогів будь-якого каталогу! Але ж для цього досить виконати єдину команду DIR (з певними ключами) і перенаправити вивід цієї команди в потрібний текстовий файл.

Яким же нам хотілося б бачити інструмент для автоматизації роботи в ОС? Бажано, щоб було реалізовано наступне:

работавразнихверсіяхОСбезустановкі будь-якого додаткового програмного забезпечення;

інтеграціяскоманднойстрокой (безпосереднєвиконання вводяться з клавіатури команд);

узгоджений і сумісний синтаксис команд і утиліт;

наявність докладної вбудованої довідки по командам з прикладами використання.

В ОС Windows справа йде складніше. На сьогоднішній день одного "ідеального" засобу автоматизації, що задовольняє відразу всім перерахованим вище вимогам, в Windows немає; в останніх версіях ОС підтримуються кілька стандартних інструментів автоматизації, сильно відрізняються один від одного: оболонка командного рядка cmd.exe, Виконавча сценаріїв Windows Script Host і оболонка Microsoft PowerShell. Тому адміністратору або користувачу Windows доводиться вибирати, яким саме підходом скористатися для вирішення певної задачі, а для цього бажано мати чітке уявлення про сильні та слабкі сторони даних засобів автоматизації. Розглянемо переваги і недоліки кожного з них.

      1. Оболонка (інтерпретатор) командного рядка command.com/cmd.exe



У всіх версіях ОС Windows підтримується інтерактивна оболонка командного рядка (command shell) і певний набір утиліт командного рядка (кількість і склад цих утиліт залежить від версії ОС).

Механізм роботи оболонок командного рядка в різних системах однаковий: у відповідь на запрошення ( "підказку", prompt), що видається знаходиться в очікуванні оболонкою, користувач вводить деяку команду (функціональність цієї команди може бути реалізована або самої оболонкою, або певної зовнішньої утилітою), оболонка виконує її, при необхідності виводячи на екран будь-яку інформацію, після чого знову виводить запрошення і чекає введення наступної команди.

Оболонка являє собою порядковий інтерпретатор простої мови сентенціального (директивного) програмування, оператори якої можуть використовуватися як програми що виконуються.

Поряд з інтерактивним режимом роботи оболонки, як правило, підтримують і пакетний режим, в якому система послідовно виконує команди, записані в текстовому файлі-сценарії. Оболонка Windows не є винятком, з точки зору програмування мова командних файлів Windows може бути охарактеризований наступним чином:

реалізація сентенціальної (директивної) парадигми програмування;

виконання в режимі порядкової інтерпретації; наявність керуючих конструкцій;

підтримка декількох видів циклів (в тому числі спеціальних циклів для обробки текстових файлів);

наявність оператора присвоювання (установки значення змінної); можливість використання зовнішніх програм (команд) операційної системи в якості операторів і обробки їх кодів повернення;

наявність нетипізований змінних, які декларуються першою згадкою (значення змінних можуть інтерпретуватися як числа і використовуватися у виразах цілочисельної арифметики).

Починаючи з версії Windows NT, оболонка командного рядка представляється інтерпретатором Cmd.exe.

Отже, з огляду на сказане вище, можна зробити вивід: оболонка командного рядка cmd.exe і командні файли - найбільш універсальні і прості у вивченні засоби автоматизації роботи в Windows, доступні у всіх версіях операційної системи.

      1. Підтримка мов сценаріїв. Сервер сценаріїв WindowsScript Host


Наступним кроком у розвитку засобів і технологій автоматизації в ОС Windows стала поява сервера сценаріїв Windows Script Host (WSH). Цей інструмент розроблено для всіх версій Windows і дозволяє безпосередньо в ОС виконувати сценарії на повноцінних мовах сценаріїв (за замовчуванням, VBScript і JScript), які до цього були доступні тільки всередині HTML-сторінок і працювали в контексті безпеки веб-браузера (в силу цього подібні сценарії, наприклад, могли не мати доступу до файлової системи локального комп'ютера).

У порівнянні з командними файлами інтерпретатора cmd.exe сценарії WSH мають кілька переваг.

По-перше, VBScript і JScript - це повноцінні алгоритмічні мови, які мають вбудовані функції і методи для обробки символьних рядків, виконання математичних операцій, обробки виняткових ситуацій і т.д; крім того, для написання сценаріїв WSH можна використовувати будь-яку іншу мову сценаріїв (наприклад, широко поширений в Unix-системах Perl), для якого встановлено відповідний модуль підтримки.

По-друге, WSH підтримує кілька власних об'єктів, властивості і методи яких дозволяють вирішувати деякі часто виникають повсякденні завдання адміністратора операційної системи: робота з мережевими ресурсами, змінними середовища, системним реєстром, ярликами і спеціальними папками Windows, запуск і управління роботою інших додатків.

По-третє, з сценаріїв WSH можна звертатися до служб будь-яких додатків-серверів автоматизації (наприклад, програм з пакету MS Office), які реєструють в ОС свої об'єкти.

Нарешті, сценарії WSH дозволяють працювати з об'єктами інформаційної моделі Windows Management Instrumentation (WMI), що забезпечує програмний інтерфейс управління всіма компонентами операційної моделі, а також з об'єктами служби каталогів Active Directory Service Interface.

Слід також зазначити, що технологія WSH підтримується в Windows вже досить давно, в Інтернеті (в тому числі на сайті Microsoft) можна знайти безліч готових сценаріїв.

      1. Командна оболонка Microsoft PowerShell


З одного боку функціональності і гнучкості мови оболонки cmd.exe явно недостатньо, а з іншого боку сценарії WSH, що працюють з об'єктними моделями ADSI і WMI, занадто складні для користувачів середнього рівня і початківців адміністраторів.

Перед розробниками нової оболонки, що отримала назву Windows PowerShell, стояли такі основні цілі:

  • Прімененіекоманднойстроківкачествеосновного інтерфейсу адміністрування;

  • реалізація моделі ObjectFlow (елементом обміну інформації є об'єкт);

  • переробка існуючих команд, утиліт і оболонки; інтеграція командного рядка, об'єктів COM, WMI і .NET;

  • робота з довільними джерелами даних в командному рядку за принципом файлової системи.

Найважливіша ідея, закладена в PowerShell, полягає в тому, що в командному рядку вивід результатів команди є не текст (в сенсі послідовності символів), а об'єкт (дані разом з властивими їм методами). В силу цього працювати в PowerShell стає простіше, ніж в традиційних оболонках, так як не потрібно виконувати ніяких маніпуляцій по виділенню потрібної інформації з символьного потоку.

Відзначимо, що PowerShell одночасно є і оболонкою командного рядка (користувач працює в інтерактивному режимі) і середовищем виконання сценаріїв, які пишуться на спеціальній мові PowerShell.

В цілому, оболонка PowerShell набагато зручніше і потужніше своїх попередників (cmd.exe і WSH), а основним недоліком, який стримує поширення нового інструменту, є той факт, що PowerShell працює не у всіх версіях ОС Windows. Оболонкою можна користуватися тільки на версіях не нижче Windows з встановленим пакетом .NET Framework 2.0. та висче Оболонка командного рядка Windows. інтерпретатор Cmd.exe
Розглядаються внутрішні команди, підтримувані інтерпретатором Cmd.exe, і найбільш часто використовувані зовнішні команди (утиліти командного рядка). Описуються механізми перенаправлення вводу / виводу, конвейеризации і умовного виконання команд.

В ОС Windows, як і в інших ОС, інтерактивні (набираються з клавіатури і відразу ж виконуються) команди виконуються за допомогою так званого командного інтерпретатора, інакше званого командним процесором або оболонкою командного рядка (command shell). Починаючи з версії Windows NT, в операційній системі реалізований інтерпретатор команд Cmd.exe, що володіє набагато ширшими можливостями.

      1. Запуск оболонки


У Windows файл Cmd.exe, як і інші виконувані файли, відповідні зовнішнім командам ОС, знаходяться в каталозі

% SystemRoot% \ SYSTEM32 (значенням змінної середовища% SystemRoot% є системний каталог Windows, зазвичай C: \ Windows або C: \ WinNT). Для запуску командного інтерпретатора (відкриття нового сеансу командного рядка) можна вибрати пункт Виконати ... (Run) в меню Пуск (Start), ввести ім'я файлу Cmd.exe і натиснути кнопку OK. В результаті відкриється нове вікно (див. Рис. 1), в якому можна запускати команди і бачити результат їх роботи.



Рис. 1 - Командне вікно інтерпретатора Cmd.exe в Windows
      1. Налаштування параметрів командного вікна інтерпретатора


У утиліти командного рядка, яка поставляється у вигляді стандартного додатка ОС Windows, є свій набір опцій і параметрів налаштування. Один із способів перегляду цих опцій це використання пункту «Властивості керуючого меню вікна» (натиснути правою кнопкою миші на заголовок вікна). У вікні властивостей (див. Рис. 2) будуть доступні чотири вкладки з опціями: загальні, шрифт, розташування і кольору.



Рис. 2 - вікно налаштування властивостей інтерпретатора

      1. Внутрішні і зовнішні команди. Структура команд.



Деякі команди розпізнаються і виконуються безпосередньо самим командним інтерпретатором - такі команди називаються внутрішніми (наприклад, COPY або DIR). Інші команди ОС є окремими програмами, вони розташовані за замовчуванням в тому ж каталозі, що і Cmd.exe, які Windows завантажує і виконує аналогічно іншим програмам. Такі команди називаються зовнішніми (наприклад, MORE або XCOPY).

Розглянемо структуру самго командного рядка і принцип роботи з

ним. Для того, щоб виконати команду, після запрошення командного рядка (наприклад,C: \>) Слід ввести ім'я цієї команди (реєстр не важливий), її параметри і ключі (якщо вони необхідні) і натиснути клавішу

. наприклад:
C: \> COPY C: \ file.txt d: \ / V
Ім'я команди тут - COPY, Параметри - C:\file.txt і D: \, А ключем є / V. Відзначимо, що в деяких командах ключі можуть починатися не з символу /, а з символу - (мінус), наприклад,-V.

Багато команд Windows мають велику кількість додаткових параметрів і ключів, запам'ятати які найчастіше буває важко. Більшість команд забезпечено вбудованою довідкою, в якій коротко описуються призначення і синтаксис даної команди. Отримати доступ до такої довідки можна шляхом введення команди з ключем/?. Наприклад, якщо виконати команду ATTRIB /?, То у вікні MS-DOS ми побачимо наступний текст: Відображення і зміна атрибутів файлів.
ATTRIB [+ R | -R] [+ A | -A] [+ S | -S] [+ H | -H] [[диск:] [шлях] ім'я файлу] [/ S]
+ Установка атрибута.

  • зняття атрибута.

  1. Атрибут "Тільки читання".

A Атрибут "Архівний".

  1. Атрибут "Системний".

H Атрибут "Прихований".

/ S Обробка файлів у всіх вкладених папках зазначеного шляху.
Для деяких команд текст вбудованої довідки може бути досить великим і не уміщатися на одному екрані. У цьому випадку допомога можна виводити послідовно по одному екрану за допомогою команди MORE і символу конвейеризації |, наприклад:
XCOPY /? | MORE
У цьому випадку після заповнення чергового екрану вивід допомоги буде перериватися до натискання будь-якої клавіші. Крім того, використовуючи символи перенаправлення виведення> і >>, можна текст, що виводиться на екран, направити в текстовий файл для подальшого перегляду. Наприклад, для виведення тексту довідки до команди XCOPY в текстовий файл xcopy.txt, використовується наступна команда:
XCOPY /? > XCOPY.TXT
зауваження. Замість імені файлу можна вказувати позначення пристроїв комп'ютера. У Windows підтримуються наступні імена пристроїв: PRN (Принтер), CON (термінал: при введенні це клавіатура, при виведенні - монітор), NUL (Пусте пристрій, всі операції введення / виводу для нього ігноруються).

      1. Перенаправлення вводу / виводу і конвейеризація (Композиція) команд



За допомогою перепризначення пристроїв введення / виводу одна програма може направити свій вивід на вхід іншого чи перехопити вивід іншої програми, використовуючи його в якості своїх вхідних даних. Таким чином, є можливість передавати інформацію від процесу до процесу при мінімальних програмних витратах. Практично це означає, що для програм, які використовують стандартні вхідні і вихідні пристрої, ОС дозволяє:

виводити повідомлення програм не на екран (стандартний вихідний потік), а в файл або на принтер (перенаправлення виводу);

читати вхідні дані не з клавіатури (стандартний вхідний потік), а з заздалегідь підготовленого файлу (перенаправлення вводу);

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

З командного рядка ці можливості реалізуються в такий спосіб. Для того, щоб перенаправити текстові повідомлення, що виводяться будь-якою командою, в текстовий файл, потрібно використовувати конструкцію: команда > имя_файла.

Якщо при цьому заданий для виведення файл вже існував, то він перезаписується, якщо не існував - створюється. Можна також не створювати файл заново, а дописувати інформацію, виведену командою, в кінець існуючого файлу. Для цього команда перенаправлення виведення повинна бути задана так:

команда >> имя_файла

За допомогою символу < можна прочитати вхідні дані для заданої команди не з клавіатури, а з певного (заздалегідь підготовленого) файлу:

команда <ім'я файлу

Наведемо кілька прикладів перенаправлення вводу / виводу:


Вивід вбудованої довідки для команди COPY в файл copy.txt:
COPY /? > copy.txt
Додавання тексту довідки для команди XCOPY в файл copy.txt:
XCOPY /? >> copy.txt
Вивід поточної дати в файл date.txt (DATE / T - це команда для перегляду і зміни системної дати, T ключ для отримання тільки дати без запиту нового значення):
DATE / T> date.txt
Якщо при виконанні певної команди виникає помилка, то повідомлення про це за замовчуванням виводиться на екран. У разі необхідності повідомлення про помилки (стандартний потік помилок) можна перенаправити в текстовий файл за допомогою конструкції
команда 2> имя_файла
В цьому випадку стандартний вивід буде проводитися на екран.

Також є можливість інформаційні повідомлення та повідомлення про помилки виводити в один і той же файл. Робиться це в такий спосіб:
команда> имя_файла 2> & 1
Наприклад, у наведеній нижче команді стандартний вихідний потік і стандартний потік помилок перенаправляються в файл
copy.txt: XCOPY A: \ 1.txt C:> copy.txt 2> & 1
Нарешті, за допомогою конструкції команда1 | команда2 можна використовувати повідомлення, що виводяться першою командою, в якості вхідних даних для другої команди (конвеєр команд).

Використовуючи механізми перенаправлення вводу / виводу і конвейеризации, можна з командного рядка посилати інформацію на різні пристрої і автоматизувати відповіді на запити, що видаються командами або програмами, які використовують стандартний ввід. Для вирішення таких завдань служить команда ECHO [повідомлення], яка виводить повідомлення на екран. Приклад використання цієї команди.

Видалення всіх файлів в поточному каталозі без попередження (дає автоматично позитивну відповідь на запит про видалення):
ECHO y | DEL *. *

      1. Команди MORE і SORT


Однією з найбільш часто використовуваних команд, для роботи з якою застосовується перенаправлення вводу/виводу і конвейеризація, є MORE. Ця команда зчитує стандартний ввід з конвеєра або перенаправленого файлу і виводить інформацію частинами, розмір кожної з яких не більше розміру екрана. Використовується MORE зазвичай для перегляду довгих файлів. Можливі три варіанти синтаксису цієї команди:
MORE [диск:] [шлях] ім'я файлу MORE <[диск:] [шлях] ім'я файлу імя_команди | MORE
Параметр [диск:] [шлях] ім'я файлу визначає розташування і ім'я файлу з кількістю переглядів на екрані даними. Параметр імя_команди задає команду, вивід якої відображається на екрані (наприклад, DIR або команда TYPE, що використовується для виведення вмісту текстового файлу на екран). Наведемо два приклади.

Для по екранного перегляду текстового файлу news.txt можливі наступні варіанти команд:

MORE news.txt MORE

TYPE news.txt | MORE

Іншою поширеною командою, що використовує перенаправлення вводу/виводу і конвейеризацію, є SORT. Ця команда працює як фільтр: вона зчитує символи в заданому стовпці, впорядковує їх у зростаючому або спадаючому порядку і виводить відсортовану інформацію в файл, на екран або інший пристрій. Можливі два варіанти синтаксису цієї команди:
SORT [/ R] [/ + n] [[діск1:] [шлях1] файл1] [> [диск2:] [шлях2] файл2]

або

[Команда |] SORT [/ R] [/ + n] [> [диск2:] [шлях2] файл2]
У першому випадку параметр [діск1:] [шлях1] файл1 визначає ім'я файлу, який потрібно відсортувати. У другому випадку будуть відсортовані вихідні дані зазначеної команди. якщо параметри файл1 або команда не задані, то SORT буде зчитувати дані з пристрою стандартного введення.

Параметр [диск2:] [шлях2] файл2 задає файл, в який буде направляється сортовані вивід; якщо цей параметр не заданий, то вивід буде направлений на пристрій стандартного виведення.

За замовчуванням сортування виконується в порядку зростання. Ключ /R дозволяє змінити порядок сортування на зворотний (від Z до A і потім від 9 до 0). Наприклад, для по екранного перегляду відсортованого в зворотному порядку файлу price.txt, потрібно задати наступну команду: SORT / R

ключ /+N задає сортування у файлі за символами n-го стовпця. наприклад, /+10 означає, що сортування повинно здійснюватися, починаючи з 10-ї позиції в кожному рядку. За замовчуванням файл сортується по першому стовпцю.

      1. Умовне виконання і угруповання команд



У командному рядку Windows можна використовувати спеціальні символи, які дозволяють вводити кілька команд одночасно і управляти роботою команд в залежності від результатів їх виконання. За допомогою таких символів умовної обробки можна зміст невеликого пакетного файлу записати в одному рядку і виконати отриману складову команду.

Використовуючи символ амперсанда &, Можна розділити кілька утиліт в одному командному рядку, при цьому вони будуть виконуватися один за одним. Наприклад, якщо набрати команду DIR & PAUSE & COPY /? і натиснути клавішу , то спочатку на екран буде виведено вміст поточного каталогу, а після натискання будь-якої клавіші - вбудована довідка команди COPY.

Умовна обробка команд в Windows здійснюється за допомогою символів && і || наступним чином. подвійний амперсанд && запускає

команду, що стоїть за ним в командному рядку, тільки в тому випадку, якщо команда, що стоїть перед амперсандами була виконана успішно. Наприклад, якщо в кореневому каталозі диска C: є файл plan.txt, то виконання рядка TYPE C:\plan.txt && DIR призведе до виводу на екран цього файлу і вмісту поточного каталогу. Якщо ж файл C:\ plan.txt не існує, то команда DIR виконуватися не буде.

Два символи || здійснюють в командному рядку зворотну дію, тобто запускають команду, яка стоїть за цими символами, тільки в тому випадку, якщо команда, що йде перед ними, що не була успішно виконана. Таким чином, якщо в попередньому прикладі файл C: \ plan.txt буде відсутній, то в результаті виконання рядка TYPE C: \ plan.txt||DIR на екран виведеться вміст поточного каталогу.

Відзначимо, що умовна обробка діє тільки на найближчу команду, тобто в рядку

TYPE C: \ plan.txt && DIR & COPY /?
команда COPY /? буде запуститься в будь-якому випадку, незалежно від результату виконання команди TYPE C: \ plan.txt.
Кілька утиліт можна згрупувати в командному рядку за допомогою круглих дужок. Розглянемо, наприклад, два рядки:

TYPE C: \ plan.txt && DIR & COPY /?

TYPE C: \ plan.txt && (DIR & COPY /?)
У першій з них символ умовної обробки && діє тільки на команду DIR. У другій - одночасно на дві команди: DIR і COPY.

    1. Команди для роботи з файловою системою



Розглянемо деякі найбільш часто використовувані команди для роботи з файловою системою. Відзначимо спочатку кілька особливостей визначення шляхів до файлів в Windows.

      1. Шляхи до об'єктів файлової системи


Файлова система логічно має деревоподібну структуру і імена файлів задаються в форматі [Диск:] [шлях \] ім'я файлу. Тобто обов'язковим параметром є тільки ім'я файлу. При цьому, якщо шлях починається з символу "\", То маршрут обчислюється від кореневого каталогу, інакше - від поточного каталогу. Наприклад, ім'я C:\123.txt задає файл 123.txt в поточному каталозі на диску C :, ім'я C:\ 123.txt - файл 123.txt в кореневому каталозі на диску C :, ім'я ABC \ 123.txt - файл 123.txt в підкаталозі ABC поточного каталогу.

Існують особливі позначення для поточного каталогу і батьківського каталогів. Поточний каталог позначається символом.

(Точка), його батьківський каталог - символами .. (дві крапки). Наприклад, якщо поточним каталогом є C:\WINDOWS, то шлях до файлу autoexec.bat в кореневому каталозі диска C: може бути записаний у вигляді

.. \ autoexec.bat.

В іменах файлів (але не дисків або каталогів) можна застосовувати так звані групові символи або шаблони:? (Знак питання) і * (зірочка). Символ * в імені файлу означає будь-яку кількість будь-яких допустимих символів, символ? - один довільний символ або його відсутність. Скажімо, під шаблон text ?? 1.txt підходять, наприклад, імена text121.txt і text11.txt, під шаблон text * .txt - імена text.txt, textab12.txt, а під шаблон text. * - всі файли з ім'ям text і довільним розширенням.

Для того, щоб використовувати довгі імена файлів при роботі з командним рядком, їх потрібно укладати в подвійні лапки. Наприклад, щоб запустити файл з ім'ям 'Моє пріложеніе.exe' з каталогу 'Мої документи', потрібно в командному рядку набрати "C: \ Мої документи \ My пріложеніе.exe" і натиснути клавішу .

      1. команда CD


Поточний каталог можна змінити за допомогою команди CD [диск:] [шлях \]. Шлях до необхідного каталогу вказується з урахуванням наведених вище зауважень. Наприклад, команда CD\ виконує перехід в кореневий каталог поточного диска. Якщо запустити CD без параметрів, то на екран будуть виведені імена поточного диска і каталогу.

      1. команда COPY


Однією з найбільш часто повторюваних завдань при роботі на комп'ютері є копіювання та переміщення файлів з одного місця в інше. Для копіювання одного або декількох файлів використовується команда COPY.

Синтаксис цієї команди:


COPY [/ A | / B] джерело [/ A | / B] [+ джерело [/ A | / B] [+ ...]] [результат [/ A | / B]] [/ V] [/ Y | / -Y]

Короткий опис параметрів і ключів команди COPY наведено в (табл. 1).
Таблиця 1.

Параметри і ключі команди COPY

параметр

опис

джерело

Ім'я копируемого файлу або файлів

/ A

Файл є текстовим файлом ASCII, тобто кінець файлу позначається символом з кодом ASCII 26 ( + )

параметр

опис

джерело

Ім'я файлу або файлів що копіюються

/ B

Файл є двійковим. Цей ключ вказує на те, що інтерпретатор команд повинен при копіюванні зчитувати з джерела число байт, заданий розміром в каталозі копійованого файлу

результат

Каталог для розміщення результату копіювання та / або ім'я створюваного файлу

/ V

Перевірка правильності копіювання шляхом порівняння файлів після копіювання

/ Y

Відключення режиму запиту підтвердження на заміну файлів

/ -Y

Функція переходу в режим запиту підтвердження на заміну файлів



Приклади використання команди COPY.



Копіювання файлу abc.txt з поточного каталогу в каталог D: \ PROGRAM під тим же ім'ям:
COPY abc.txt D: \ PROGRAM
Копіювання файлу abc.txt з поточного каталогу в каталог D: \ PROGRAM під новим ім'ям def.txt:
COPY abc.txt D: \ PROGRAM \ def.txt
Копіювання всіх файлів з розширенням txt з диска A: у каталог 'Мої документи' на диску C:
COPY A: \ *. Txt "C: \ Мої документи"
Якщо не поставити в команді цільової файл, то команда COPY створить копію файлу-джерела з тим же ім'ям, датою і часом створення, що і вихідний файл, і помістить нову копію в поточний каталог на поточному диску. Наприклад, для того, щоб скопіювати всі файли з кореневого каталогу диска A: у поточний каталог, досить виконати таку команду:
COPY A: \ *. *
Приклад 1. Створення нового текстового файлу і запису в нього інформації без використання текстового редактора.

Для вирішення завдання необхідно ввести команду COPY CON my.txt, яка буде копіювати те, що набирається на клавіатурі в файл my.txt (якщо цей файл існував, то він буде перезаписано, інакше - створиться). Для завершення введення необхідно ввести символ кінця файлу, тобто натиснути клавіші + .

Команда COPY може також об'єднувати (склеювати) кілька файлів в один. Для цього необхідно вказати єдиний результуючий файл і кілька вихідних. Це досягається шляхом використання групових знаків (? І *) або формату файл1 + файл2 +

файл3. Наприклад, для об'єднання файлів 1.txt і 2.txt в файл 3.txt можна задати наступну команду:
COPY 1.txt + 2.txt 3.txt
Об'єднання всіх файлів з розширенням dat з поточного каталогу в один файл all.dat може бути вироблено так:
COPY / B * .dat all.dat
ключ / B тут використовується для запобігання усічення файлів які з'єднуються, так як при комбінуванні файлів команда COPY за замовчуванням вважає файлами текстовими.

Якщо ім'я цільового файлу збігається з ім'ям одного з файлів які копіюються (крім першого), то початковий вміст цільового файлу втрачається. Якщо ім'я цільового файлу опущено, то в якості його використовується перший файл зі списку. Наприклад, команда COPY 1.txt + 2.txt додасть до вмісту файлу 1.txt вміст файлу 2.txt. командою COPY можна скористатися і для присвоєння якому-небудь файлу поточної дати і часу без модифікації його вмісту. Для цього потрібно ввести команду
COPY / B 1.txt + ,,
Тут коми вказують на пропуск параметра приймача, що і приводить до необхідного результату.

Команда COPY має і свої недоліки. Наприклад, з її допомогою можна копіювати приховані і системні файли, файли нульової довжини, файли з підкаталогів. Крім того, якщо при копіюванні групи файлів COPY зустріне файл, який в даний момент не можна скопіювати (наприклад, він зайнятий іншим додатком), то процес копіювання повністю перерветься, і інші файли не будуть скопійовані.

      1. команда XCOPY



Зазначені при описі команди COPY проблеми можна вирішити за допомогою команди XCOPY, яка надає набагато більше можливостей при копіюванні. Необхідно відзначити, правда, що XCOPY може працювати тільки з файлами і каталогами, але не з пристроями.
Синтаксис команди:
XCOPY джерело [результат] [ключі]
Команда XCOPY має безліч ключів, далі наведено лише деяких з них. Ключ /D [: [дата]] дозволяє копіювати тільки файли, змінені не раніше зазначеної дати. Якщо параметр дата не вказана, то копіювання буде проводитися тільки якщо джерело новіше результату. Наприклад, команда XCOPY "C: \ Мої документи \ *. *" "D: \ BACKUP \ Мої документи" / D скопіює в каталог 'D: \ BACKUP \ Мої документи' тільки ті файли з каталогу 'C:\Мої документи' , які були змінені з часу останнього подібного копіювання або яких взагалі не було в 'D: \ BACKUP \ Мої документи'.

Ключ /S дозволяє копіювати всі непусті підкаталоги в каталозі- джерелі. За допомогою ж ключа /E можна копіювати взагалі всі підкаталоги, включаючи і порожні.

Якщо вказано ключ /C, то копіювання триватиме навіть в разі виникнення помилок. Це буває дуже корисним при операціях копіювання, вироблених над групами файлів, наприклад, при резервному копіюванні даних.

Ключ /I важливий для випадку, коли копіюються кілька файлів, а файл призначення відсутній. При завданні цього ключа командаXCOPY вважає, що файл призначення повинен бути каталогом. Наприклад, якщо задати ключ /I в команді копіювання всіх файлів з розширенням .txt з поточного каталогу в неіснуючий ще підкаталог TEXT, XCOPY * .txt TEXT / I то підкаталог TEXT буде створено без додаткових запитів.

ключі / Q, / F і / L відповідають за режим відображення при копіюванні. При завданні ключа /Q імена файлів при копіюванні не відображаються, ключа /F - відображаються повні шляхи джерела і результату. Ключ / L позначає, що відображаються тільки файли, які повинні бути скопійовані (при цьому саме копіювання не проводиться).

За допомогою ключа / H можна копіювати приховані і системні файли, а за допомогою ключа / R - замінювати файли з атрибутом "Тільки для читання". Наприклад, для копіювання всіх файлів з кореневого каталогу диска C: (включаючи системні та приховані) в каталог SYS на диску D :, потрібно ввести наступну команду:
XCOPY C: \ *. * D: \ SYS / H
ключ / T дозволяє застосовувати XCOPY для копіювання тільки структури каталогів джерела, без дублювання знаходяться в цих каталогах файлів, причому порожні каталоги і підкаталоги не включаються. Для того, щоб все ж включити порожні каталоги і підкаталоги, потрібно використовувати комбінацію ключів / T / E.

Використовуючи XCOPY можна при копіюванні оновлювати тільки вже існуючі файли (нові файли при цьому не записуються). Для цього застосовується ключ / U. Наприклад, якщо в каталозі C: ​​\ 2 знаходилися файли a.txt і b.txt, а в каталозі C: ​​\ 1 - файли a.txt, b.txt, c.txt і d.txt, то після виконання команди:
XCOPY C: \ 1 C: \ 2 / U
В каталозі C: ​​\ 2 як і раніше залишаться лише два файли a.txt і b.txt, вміст яких буде замінено вмістом відповідних файлів з каталогу C: \ 1. Якщо за допомогою XCOPY копіювався файл з атрибутом "Тільки для читання", то за замовчуванням у файлу-копії цей атрибут зніметься. Для того, щоб копіювати не тільки дані, але і повністю атрибути файлу, необхідно використовувати ключ / K.

ключі / Y і / -Y визначають, чи потрібно запитувати підтвердження перед заміною файлів при копіюванні. / Y означає, що такий запит потрібен, / -Y - не потрібен.

1.3.5. команда DIR


Команда:

DIR [диск:] [шлях] [ім'я файлу] [ключі]
використовується для виведення інформації про вміст дисків і каталогів. Параметр [диск:] [шлях] задає диск і каталог, вміст якого потрібно вивести на екран. Параметр [имя_файла] задає файл або групу файлів, які потрібно включити в список.

Наприклад, команда DIR C: \ *.Bat виведе на екран всі файли з розширенням bat в кореневому каталозі диска C :. Якщо задати цю команду без параметрів, то виводиться мітка диска і його серійний номер, імена (в короткому і довгому варіантах) файлів і підкаталогів, що знаходяться в поточному каталозі, а також дата і час їх останньої модифікації. Після цього виводиться число файлів в каталозі, загальний обсяг (у байтах), яку він обіймав файлами, і обсяг вільного простору на диску. Наприклад: Том в пристрої C має мітку PHYS1_PART2
Серійний номер тому: 366D-6107

Вміст папки C: \ aditor

. <ПАПКА>

.. <ПАПКА> HILITE DAT

25.01.15 17:15. 25.01.15 17:15 ..

1 082 18.09.16



18:55 hilite.dat

TEMPLT01 DAT

48

07.08.16

1:00 templt01.dat

TTABLEDAT

357

07.08.16

1:00 ttable.dat

ADITOREXE

461 312

01.12.15

23:13 aditor.exe

READMETXT

3 974

25.01.15

17:26 readme.txt

ADITORHLP

24 594

08.10.16

23:12 aditor.hlp

Текст 1 TXT

0

11.03.15

9:02 Текстовий файл.txt

11 файлів 533 647 байт

2 папок 143 261 696 байт вільно
За допомогою ключів команди DIR можна задати різні режими розташування, фільтрації і сортування. Наприклад, при використанні ключа/ W перелік файлів виводиться в широкому форматі з максимально можливим числом імен файлів або каталогів на кожному рядку. Наприклад: Том в пристрої C має мітку PHYS1_PART2

Серійний номер тому: 366D-6107 Вміст папки C: \ aditor

[.] [..] TEMPLT02.DAT UNINST1.000 HILITE.DAT TEMPLT01.DAT UNINST0.000TTABLE.DATADITOR.EXE

README.TXT ADITOR.HLP Текст 1.TXT

11 файлів 533 647 байт

2 папок 143 257 600 байт вільно

За допомогою ключа / A [[:] атрибути] можна вивести імена тільки тих каталогів і файлів, які мають задані атрибути (R - "Тільки читання", A - "Архівний", S - "Системний", H - "Прихований", префікс "-" має значення НЕ). якщо ключ/ A використовується більш ніж з одним значенням атрибута, будуть виведені імена тільки тих файлів, у яких все атрибути співпадають з заданими. Наприклад, для виведення імен всіх файлів в кореневому каталозі диска C :, які одночасно є прихованими і системними, можна задати команду

DIR C: \ / A: HS

а для виведення всіх файлів, крім прихованих - команду DIR C: \ / A: -H

Відзначимо тут, що атрибуту каталогу відповідає буква D, і для того, щоб, наприклад, вивести список всіх каталогів диска C :, потрібно задати команду

DIR C: / A: D

Ключ / O [[:] сортування] задає порядок сортування вмісту каталогу при виведенні його командою DIR. Якщо цей ключ опущений,DIR друкує імена файлів і каталогів в тому порядку, в якому вони містяться в каталозі. Якщо ключ / O заданий, а параметр сортування не вказано, тоDIR виводить імена в алфавітному порядку. У параметрі сортування можна використовувати наступні значення:N - по імені (алфавітна), S - за розміром (починаючи з менших), E - по розширенню (алфавітна), D - за датою (починаючи з більш старих), A - за датою завантаження (починаючи з більш старих), G - почати список з каталогів. Префікс "-" означає зворотний порядок. Якщо задається більш одного значення порядку сортування, файли сортуються за першим критерієм, потім по другому і т.д.

ключ / S означає виведення списку файлів із заданого каталогу і його підкаталогів. ключ/ B перераховує тільки назви каталогів і імена файлів (в довгому форматі) по одному на рядок, включаючи розширення. При цьому виводиться тільки основна інформація, без підсумкової. наприклад:

templt02.dat UNINST1.000

hilite.dat templt01.dat UNINST0.000

ttable.dat aditor.exe readme.txt

aditor.hlp Текстовий файл.txt

      1. Команди MKDIR і RMDIR


Для створення нового каталогу і видалення вже існуючого порожнього каталогу використовуються команди MKDIR [диск:] шлях і RMDIR [диск:] шлях [ключі] відповідно (або їх короткі аналоги MD і RD). наприклад:
MKDIR "C: \
Приклади" RMDIR "C: \ Приклади"

Команда MKDIR не може бути виконана, якщо каталог або файл із заданим ім'ям вже існує. Команда RMDIR нічого очікувати виконано, якщо видаляється каталог не порожній.

      1. команда DEL



Видалити один або кілька файлів можна за допомогою команди

DEL [диск:] [шлях] ім'я файлу [ключі]
Щоб видалити кілька файлів використовуються групові знаки? і *. Ключ / S дозволяє видалити зазначені файли з усіх підкаталогів, ключ / F - примусово видворити файли, доступні тільки для читання, ключ / A [[:] атрибути] - вибирати файли для видалення по атрибутам (аналогічно ключу / A [[:] атрибути ] в команді DIR).

      1. команда REN



Перейменувати файли і каталоги можна за допомогою команди RENAME (REN). Синтаксис цієї команди має наступний вигляд:
REN [диск:] [шлях] [каталог1 | файл1] [каталог2 | файл2]
Тут параметр каталог1 | файл1 визначає назву каталогу / файлу, яке потрібно змінити, а каталог2 | файл2 задає нову назву каталогу / файлу. У будь-якому параметрі команди REN можна використовувати групові символи? і *. При цьому представлені шаблонами символи в параметрі файл2 будуть ідентичні відповідним символам в параметрі файл1. Наприклад, щоб змінити у всіх файлів з розширенням txt в поточній директорії розширення на doc, потрібно ввести таку команду:

REN * .txt * .doc
Якщо файл з ім'ям файл2 вже існує, то команда REN припинить виконання, і станеться вивід повідомлення, що файл вже існує або зайнятий. Крім того, в команді REN можна вказати інший диск або каталог для створення результуючих каталогу і файлу. Для цієї мети потрібно використовувати команду MOVE, призначену для перейменування і переміщення файлів і каталогів.

      1. команда MOVE



Синтаксис команди для переміщення одного або більше файлів має вигляд:



MOVE [/ Y | / -Y] [диск:] [шлях] імя_файла1 [...]
Результуючий_файл Синтаксис команди для перейменування папки має вигляд:
MOVE [/ Y | / -Y] [диск:] [шлях] каталог1 каталог2
Тут параметр результуючий_файл задає нове розміщення файлу і може включати ім'я диска, двокрапка, ім'я каталогу, або їх поєднання. Якщо переміщається тільки один файл, допускається вказати його нове ім'я. Це дозволяє відразу перемістити і перейменувати файл. Наприклад, MOVE "C: \ Мої документи \ спісок.txt" D: \ list.txt.

Якщо вказано ключ / -Y, то при створенні каталогів і заміні файлів буде видаватися запит на підтвердження. Ключ / Y скасовує видачу такого запиту.

Порядок виконання роботи





  1. Ознайомитися з теоретичними відомостями.

  2. Запустити інтерпретатор командного рядка

  3. Збільшення розміру вікна інтерпретатора і задати колір фону і колір шрифту (рекомендується синій фон і білий шрифт).

  4. Створити список прізвищ студентів групи, використовуючи приклад 1. Відсортувати список в алфавітному порядку і зберегти його в новому файлі.


зауваження 1. При створенні текстового файлу інтерпретатор командного рядка використовує кодування кирилиця (DOS). Тому рекомендується перепризначити вивід в файл з розширенням .txt, а для перегляду вмісту файлу використовувати Internet Explorer, вказавши вид кодування кирилиця (DOS). Приклад виведення вмісту текстового файлу наведено на рис. 3.

Зауваження 2. Інтерпретатор зберігає історію введених команд в буфері (розміром 50 рядків). Для перегляду вмісту буфера за допомогою клавіш клавіатури зі стрілкою вгору і СТРІЛКА ВНИЗ. Отриману команду можна відредагувати і виконати знову.



Рис.3 - вивід вмісту текстового файлу, отриманого за допомогою команди DIR, в IE в кодуванні кирилиця (DOS)


  1. Створити текстовий файл, що містить довідкові відомості по командам по командам DIR, COPY і XCOPY.

  2. Вивести вміст зазначеного в табл.2 каталогу за вказаною формату на екран і в файл.


Таблиця 2.
Варіанти завдань за журналом



ім'я каталогу

що виводити

Сортувати

Атрибути фай-лов і

каталогів

1-6

% Windows%

тільки файли

По розміру

системний

7-12

% Windows%

Файлиі

підкаталоги

По даті

прихований

12-18

% Windows%

тільки

підкаталоги

По іменах

тільки

читання

номери бригад

ім'я каталогу

що виводити

Сортувати

Атрибути фай-лов і

каталогів

18-23

% Windows% і

всі підкаталоги

тільки файли bmp

По розміру

тільки читання

23-

% Windows% і все

підкаталоги

Тільки файли jpg

По іменах

будь-які




  1. Скопіювати всі наявні в каталозі Windows растрові графічні файли в каталог WinGrafika на диску С: . Якщо диск С: недоступний, використовувати будь-який інший доступний диск.

  2. Скопіювати всі наявні в каталозі Windows виконувані файли в каталог WinEx на диску С:. Якщо диск С: недоступний, використовувати будь-який інший доступний диск.



  1. КОНТРОЛЬНІ ПИТАННЯ





  1. Переваги та недоліки інтерфейсу командного рядка.

  2. Інструменти командного рядка для автоматизації роботи в ОС Microsoft Windows.

  3. Настроюються властивості інтерпретатора.

  4. Різниця між внутрішніми і зовнішніми командами. Приклади зовнішніх і внутрішніх команд.

  5. Структура команди інтерпретатора.

  6. Отримання інформації про конкретну команді.

  7. Групові символи (шаблони) і їх використання.

  8. Перенаправлення вводу / виводу і конвейеризація команд.

  9. Умовне виконання і угруповання команд.

  10. Призначення символів &, &&, || і ().

  11. Команди для роботи з файловою системою - назви і можливості.

  12. Переваги та недоліки команд COPY і XCOPY.

  13. Призначення команди ECHO і приклади її використання.

  14. Команда DIR і її можливості.

  15. У якому кодуванні інтерпретатор виводить інформацію і як отримати читану тверду копію?


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