Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
практика_метод_KM_2012.doc
Скачиваний:
2
Добавлен:
01.03.2025
Размер:
12 Мб
Скачать
☆

Умова виконання та групування команд

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

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

Символ ^ дозволяє використовувати командні символи як текст, тобто при цьому відбувається ігнорування значення спеціальних символів. Наприклад, якщо ввести в командному рядку

ECHO Абв & COPY /? і натиснути клавішу <Enter>, то відбудеться виконання підряд двох команд: ECHO АБВ і COPY /? (команда ECHO виводить на екран символи, вказані в командному рядку після неї). Якщо ж виконати команду

ECHO Абв ^& COPY /? то на екран буде виведено Абв & COPY /?.

У цьому випадку просто виконується одна команда ECHO з відповідними параметрами.

Умовна обробка команд у 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.

Приклади команд для роботи з файловою системою

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

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

Нагадаємо, що файлова система логічно має деревоподібну структуру і імена файлів задаються у форматі [диск:] [шлях \] назва_файлу, тобто обов'язковим параметром є тільки ім'я файлу. При цьому, якщо шлях починається з символу "\", то маршрут знаходиться від кореневого каталогу, інакше - від поточного каталогу. Наприклад, ім'я 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: \ Мои документы \ Мое приложение.exe" і натиснути кнопку <Enter>.

Перейдемо тепер безпосередньо до команд для роботи з файловою системою.

Команда CD

Поточний каталог можна змінити за допомогою команди

CD [диск:] [шлях \]

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

Команда COPY

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

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

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

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

Таблиця 1. Параметри і ключі команди COPY

Параметр

Опис

Джерело

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

/A

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

/B

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

Результат

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

/V

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

/Y

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

/-Y

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

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

1. Копіювання файлу abc.txt з поточного каталогу в каталог D: \ PROGRAM під тим же ім'ям:

COPY abc.txt D: \ PROGRAM

2. Копіювання файлу abc.txt з поточного каталогу в каталог D: \ PROGRAM під новим ім'ям def.txt:

COPY abc.txt D: \ PROGRAM \ def.txt

3. Копіювання всіх файлів з розширенням txt з диска A: у каталог 'Мои документы' на диску C:

COPY A: \ *. Txt "C: \ Мои документы"

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

COPY A: \ *. *

В якості джерела або результату при копіюванні можна вказувати імена не тільки файлів, але і пристроїв комп'ютера. Наприклад, для того, щоб роздрукувати файл abc.txt на принтері, можна скористатися командою копіювання цього файлу на пристрій PRN: COPY abc.txt PRN.

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

Команда 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 зустріне файл, який в даний момент не можна скопіювати (наприклад, він зайнятий іншим додатком), то процес копіювання повністю перерветься, і інші файли не будуть скопійовані.

Команда 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 - не потрібен.

Команда DIR

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

DIR C: \ *. Bat

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

Том в пристрої C має мітку PHYS1_PART2

  Серійний номер тому: 366D-6107

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

. <ПАПКА> 25.01.00 17:15 .

.. <ПАПКА> 25.01.00 17:15 ..

TEMPLT02 DAT 227 07.08.98 1:00 templt02.dat

UNINST1 000 1 093 02.03.99 8:36 UNINST1.000

HILITE DAT 1 082 18.09.98 18:55 hilite.dat

TEMPLT01 DAT 48 07.08.98 1:00 templt01.dat

UNINST0 000 40 960 15.04.98 2:08 UNINST0.000

TTABLE DAT 357 07.08.98 1:00 ttable.dat

ADITOR EXE 461 312 01.12.99 23:13 aditor.exe

README TXT 3 974 25.01.00 17:26 readme.txt

ADITOR HLP 24 594 08.10.98 23:12 aditor.hlp

ТЕКСТО~1 TXT 0 11.03.01 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.000 TTABLE.DAT ADITOR.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

Команди MKDIR і RMDIR

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

MKDIR "C: \ Приклади"

RMDIR "C: \ Приклади"

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

Команда DEL

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

DEL [диск:] [шлях] назва_файлу [ключі]

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

Команда REN

Перейменувати файли і каталоги можна за допомогою команди RENAME (REN). Синтаксис цієї команди має наступний вигляд:

REN [диск:] [шлях] [каталог1 | файл1] [каталог2 | файл2]

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

REN *. Txt *. Doc

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

Команда MOVE

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