Добрі поради » Цікаве » Команди bat-файлів (Windows)

Команди bat-файлів (Windows)

2-04-2016, 19:12
1 993
0
При роботі на комп'ютері часто виникає необхідність повтору одних і тих же DOS-команд для здійснення періодично виконуваних дій, побудови складної і багаторівневої послідовності виконуваних команд або програм автоматизації роботи з програмами файлами з участю або за відсутності користувача. В операційній системі є можливість записати кілька команд в bat-файл. При цьому, просто запускаючи цей командний файл (часто його називають скрипт, або просто «батник»), можна здійснювати виконання прописаних команд, а прописавши його в події планувальника Windows, можна автоматизувати цей процес.









Особливістю файлів даного типу є відсутність всередині якогось коду - є тільки тактова інформація, яку зчитує і виконує командний DOS-процесор, сумісний практично зі всіма версіями операційної системи Windows. Одним з яскравих прикладів є файл autoexec.bat, який необхідний для запуску цієї ОС, так як саме він здійснює її налаштування у ході запуску.
Команди bat-файлів (Windows)

Основні можливості командних файлів

Команди, які містить bat-файл, по функціоналу можна умовно розділити на кілька груп: - призначені для виводу на екран певного значення, фрази, програми або дані;
- для здійснення запуску пакетних документів;
- для роботи з циклами;
- для створення розгалуження виконання з допомогою умов;
- для роботи з додатками.
Команди bat-файлів (Windows)

Виконання командних файлів

Запуск bat-файлів можна здійснити різними способами. При роботі в командному рядку в поточному каталозі можна просто вводити імена файлів з додатковими параметрами або без них. При цьому команди bat-файлів після запуску будуть виконуватися послідовно один за одним, вже без втручання користувача.


При знаходженні командного файлу в іншому каталозі необхідно крім повного імені файлу прописати повний шлях до каталогу його зберігання. Розширення файлу можна не прописувати. Наприклад, поточний каталог d:photowork, а командний файл vera.bat, який потрібно виконати з параметрами resize.doc та /p, знаходиться в каталозі d:photohome. Тоді для того, щоб здійснився запуск нашого файлу, потрібно прописати команду d:photohomevera resize.doc /p або команду homevera resize.doc /p.

Переривання роботи

Виконувані після запуску команди bat-файлів можна перервати комбінаціями кнопок + і + . На дисплеї з'явиться запит на переривання виконання командного файлу з запитом, дожидаючи введення Yes або No. Якщо ввести Y, то виконання перерветься, а решту список команд bat-файлу буде проігноровано. Якщо введіть символ N, то виконання продовжиться наступної команди зі списку.
Команди bat-файлів (Windows)

Виклик іншого командного файлу

Bat-файли можуть містити в собі посилання на виконання інших скриптів. Якщо просто прописати в тілі скрипта bat-файл, команди після нього вже виконуватися не будуть, так як управління передається на інший батник і будуть виконані команди вже з нього. Якщо потрібно повернення після запуску внутрішнього файлу, то його можна викликати командою CALL. Формат команди виглядає так: CALL ім'я-бат-файл[параметры запуска].
Параметрами, які передаються викликуваному командного файлу (файлів), зазвичай є символи %1 - %9. Коли команди bat-файлів послідовно будуть пройдені, продовжиться виконання вихідного скрипта з наступного рядка.
Команди bat-файлів (Windows)

Покрокове виконання

Бувають випадки, коли команди bat-файлів потрібно виконати покроково (із зупинкою після кожного рядка). Найбільш часто такий режим потрібно при налагодженні або тестуванні скриптів. Написання команди виглядає так: COMMAND /y/c ім'я _скрипта[параметры]. При виконанні на кожну команду буде запропоновано Y або N. Якщо вимагається виконання команди — тиснемо клавішу Enter або Y. Якщо потрібно пропустити команду — тиснемо клавішу ESC або N.
Команди bat-файлів (Windows)

Відключення і включення виводу команд на екран

Коли запускається bat-файл, команди порядково перед виконанням відображаються на екрані і після цього виконуються. Іноді це викликає незручність, так як при великому батнике команди довгим списком пробігають перед користувачем на екрані, а іноді потрібно їх показ, наприклад, для діалогу або налагодження. Щоб bat-файл виводив команди на дисплей, застосовується команда ECHO ON. Для вимкнення цього режиму потрібно ввести ECHO з параметром OFF. При цьому всі виконувані далі команди показуватися на екрані вже не будуть. Для відключення виведення тільки який-небудь одного рядка батника на екран можна використовувати на самому початку цього рядка символ @. Найчастіше цей символ можна зустріти в парі з командою @ECHO OFF для виключення виведення її на дисплей монітора. Такий режим часто використовують зловмисники, створюючи на основі bat-файлів віруси або доставляючи дрібні і великі неприємності користувачам комп'ютерів.
Команди bat-файлів (Windows)

Повідомлення при виконанні команд

Якщо після команди ECHO будуть розташовані символи, відмінні від ON або OFF, то вони будуть виводитися на екран у будь-якому режимі. Якщо ECHO без параметрів, то вона видає на екран стан режиму відображення виконуваних команд — включений або виключений.
При бажанні можна відтворити навіть звуковий сигнал (писк) комп'ютера, використовуючи bat-файл. Команди, приклади яких наведені далі, засновані на оператора ECHO з додаванням спеціальних символів. Для відтворення звукового сигналу потрібно вивести стандартний символ з кодом 7. Зробити це можна, натиснувши клавішу і «7» на цифровій клавіатурі (з написом home). Для того щоб підвищити читабельність повідомлень можна застосувати команду ECHO з параметром «.» (вона ставиться відразу за командою без пробілу) або спеціальним символом з кодом 255. На екрані це виглядатиме як порожня рядок. Команду ECHO можна використовувати для виведення повідомлень в окремий файл. Суть її полягає в перенаправлення виводу повідомлень на запис у файл, а не на екран монітора. Для збереження логів, анкетування, записи подій можна використовувати пакетні файли bat. Команди виводу мають наступний формат: - ECHO-повідомлення ім'я файлу — команда додає рядок в кінець існуючого файлу. Якщо такого файлу в даній директорії немає, то створюється новий файл. - ECHO-повідомлення > ім'я файлу — цією командою створюється новий файл, і в нього записується поточна рядок. У разі наявності такого файла в поточній директорії, його вміст буде вилучено і записана команда або її результат.

Використання коментарів

Для зручності редагування скриптів використовується команда REM. Все що знаходяться після неї команди bat-файлів Windows ігнорує при виконанні. Їх можна побачити при редагуванні і при покроковому режимі. У всіх інших випадках коментарі на екран виводитися не будуть.
Команди bat-файлів (Windows)

Команда затримки в bat-файл

Іноді під час виконання батника виникає необхідність тимчасово зупинити виконання команд, наприклад, для очікування реакції користувача, для збільшення часу на прочитання довгого повідомлення, для вставки диска, підтвердження присутності користувача або для налагодження пакетного файлу. Команда затримки в bat-файл пишеться як PAUSE без параметрів. При цьому на дисплеї відобразиться повідомлення типу «Натисніть будь-яку клавішу для продовження», і виконання скрипта буде призупинено до натискання кнопки клавіатури. Якщо буде натиснута комбінація + або + система сприйме це як завершення роботи виконуваного файлу і видасть запит на підтвердження завершення його роботи: «Перервати виконання командного файлу? (Y/N)». Якщо натиснути клавішу Y, то відбудеться переривання роботи скрипта в цьому місці й усі інші невиконані команди будуть проігноровані. При натисканні N виконання триватиме з наступної команди. При паузі натискання будь-яких інших буквено-цифрових клавіш, а також «Пробіл» і «Enter» виконання виконуваного файлу триватиме з наступної команди.
Команди bat-файлів (Windows)

Виконання команди для списку файлів

Для послідовного виконання декількох файлів зі списку, що знаходяться в одній директорії, також можна використовувати bat-файл. Команди «запуск програми за назвою» і «запуск програми з розширення файлу» часто можуть допомогти з автоматизацією обробки документів, наприклад сортування вкладень пошти. Відрізняються вони параметрами для команди FOR. Формат написання її наведено нижче: - FOR %x IN (список файлів) DO команда, де: - х - будь-який символ, за винятком цифр від 0 до 9; - список — розділені пробілами імена файлів або назва одного файла; при цьому можна використовувати спеціальні символи «?» і «*» для заміни від одного до декількох знаків у назві файлів; - команда — будь DOS-команда або програма, крім FOR; якщо є необхідність використання FOR, то замість %x потрібно вказати %%x.
Команди bat-файлів (Windows)
При використанні цієї команди для написання bat-файлів потрібно враховувати, що імена в програмах формату DOS мають обмеження по довжині назви. Для того щоб зробити перемикання команди FOR на роботу з довгими іменами файлів, потрібно не забути перед нею запустити команду LFNFOR ON для включення режиму роботи з довгими іменами і LFNFOR OFF для його відключення і повернення до стандартної довжині файлів. Багато функції з програмами, такі як порівняння файлів з певними типами розширень, що знаходяться в одній директорії, з файлами тих типів з іншої директорії, копіювання всіх файлів поточного каталогу в інший, послідовне виконання файлів з розширеннями певного типу і назв, що починаються з цифр, можна здійснити за допомогою всього лише однієї вписаною в bat-файл команди. Запуск програми можна комбінувати з запитами користувача, що сприяє підвищенню зручності роботи з даними.
Команди bat-файлів (Windows)

Переходи в bat-файли

Для зручності керування порядком запуску команд в bat-файли в них часто використовують команди переходів і мітки, за якими ці переходи здійснюються.
Мітка являє собою будь-який рядок виконуваного файлу, що починається з символу «двокрапка». Ім'я мітки — це набір символів після двокрапки до кінця рядка або до першого пробілу, після якого залишок рядка ігнорується, що можна використовувати як коментар до мітки переходу. Команда переходу має написання GOTO з назвою мітки через пробіл. Якщо параметра немає або назву мітки в командному файлі не виявлено, то робота скрипта на цій команді припиняється. Приклад: GOTO zzz :zzz REM (запускаються необхідні команди). У цьому прикладі послідовне виконання командного файлу, дійшовши до GOTO zzz, переходить на мітку :zzz і триває з REM, ігноруючи все, що знаходиться між командою переходу і вказаною міткою.
Команди bat-файлів (Windows)

Використання умов при роботі з bat-файлами

Bat-файл може виконувати або не виконувати команди в залежності від різних умов, якщо в ньому застосовується перевірка настання події IF. Формат цієї команди виглядає як «IF умова команда». Умова являє собою різні варіанти виразів: - ERRORLEVEL число — в тому випадку, коли попередня виконувана програма закінчилася з кодом завершення, рівним вказаною числовому значенню або більше нього, умова буде істинною. - РЯДОК 1 == РЯДОК 2 - у разі повного збігу рядків умова стає істинним. Замість рядків можна підставити символи %0 - %9 тоді будуть порівнюватися параметри командного файлу. - EXIST - ім'я файлу, якщо файл існує, то умова істинна. - NOT - умова — якщо умова хибна, то на виході команди отримаємо справжнє значення.
Команди bat-файлів (Windows)

Вживані команди в bat-файли

Якщо натиснути кнопку "Пуск" і запустити командний рядок (cmd), то можна подивитися всі вставляються в bat-файл команди. CMD-режим можна використовувати як засіб для налагодження, як помічника, програму для отримання відомостей про командах. Для цього просто можна набрати HELP. При цьому видається список команд з короткими описами до них. Для отримання більш детальної інформації можна ввести HELP з назвою потрібної команди.
Команди bat-файлів (Windows)

Використання bat-файлів при резервному копіюванні даних

Командні файли сильно спрощують життя системним адміністраторам при здійсненні повсякденної роботи. Найбільш поширеною сферою їх застосування є резервне копіювання, створення, видалення, перейменування і багато іншого. Все це засновано на використанні команди bat-файлу COPY. Наприклад, можна створити програму, яка робить резервні копії документів з обраної папки з користувацькими даними певних форматів, виключивши, припустимо, медіафайли великого обсягу, забезпечивши резервування в папці з ім'ям користувача і поточною датою, і назвати її "Команда_копирования_файлов.bat". Після цього необхідно забезпечити її запуск в певний час за допомогою вбудованого планувальника або силами самої програми і тим самим забезпечити збереження даних користувача.
Схожі добрі поради по темі
CMD команди: список, опис і застосування. Мережні команди CMD
CMD команди: список, опис і застосування. Мережні команди CMD
CMD команди - для чого вони потрібні. Необхідність CMD команд при роботі з мережею. Для кого знадобляться CMD команди.
Швидке скидання пароля адміністратора Windows 7
Швидке скидання пароля адміністратора Windows 7
Якщо ви забули пароль від свого комп'ютера, а звертатися до фахівця занадто дорого, то ця стаття для вас.
Чим відкрити VSD і що собою представляє цей формат
Чим відкрити VSD і що собою представляє цей формат
Хтось надіслав вам файл VSD по електронній пошті і ви не розумієте, як його відкрити? Можливо, ви знайшли VSD-файл на вашому комп'ютері і вам цікаво,
Як відновити систему Windows 7 самостійно
Як відновити систему Windows 7 самостійно
Як відновити систему Windows 7 самостійно і без залучення сторонніх фахівців, описано в даному матеріалі. Запропоновано конкретний алгоритм
Як відключити брандмауер на комп'ютері?
Як відключити брандмауер на комп'ютері?
Як відключити брандмауер на комп'ютері, якщо він відповідає за його безпеку? В залежності від версії операційної системи дії по деактивації будуть
Файли з розширенням .nrg - що відкрити?
Файли з розширенням .nrg - що відкрити?
При роботі з комп'ютером користувачі часто зустрічаються з раніше невідомими форматами файлів, які мають певні розширення. Сьогодні ми розглянемо