Новости
- Bat файл - що до чого, вступна
- Як створити bat файл і використовувати його
- Додаємо в файл команду, наприклад, для копіювання
- Післямова
Сьогодні ми дізнаємося про те, що таке bat файл і заодно створимо один з них.
Думаю, що багато хто, так або інакше, періодично створюють резервні копії (Так звані backup -и) тих чи інших файлів і папок.
Начебто все звично і робити нічого особливо складного не треба: вставити флешку, відкрити "Мій комп'ютер", знайти що треба скопіювати, виділити, тицьнути мишкою, вибрати "скопіювати", перебратися в потрібний каталог, тицьнути "вставити" і тд.
Але найчастіше всі ці кліки і зайві рухи тіла трохи стомлюють і віднімають дорогоцінний час, особливо при частих копіювання одних і тих же даних. У цій статті я розповім як автоматизувати цей процес за допомогою консолі , А точніше написання такої штуки як bat файл.
Поїхали.
Bat файл - що до чого, вступна
Для початку трохи про те, що таке bat файл, навіщо він потрібен і з чим його (або їх) їдять. Щоб не винаходити велосипед скористаюся витримкою з Вікіпедії :
Пакетний файл (тобто bat файл, від англ. Batch file) - текстовий файл в MS-DOS, OS / 2 або Windows, що містить послідовність команд, призначених для виконання командним інтерпретатором.
Після запуску пакетного файлу, програма - інтерпретатор (як правило COMMAND.COM або CMD.EXE) читає його рядок за рядком і послідовно виконує команди.
Пакетний файл - аналог shell script в Unix-подібних операційних системах.
Пакетні файли корисні для автоматичного запуску додатків. Основна область застосування - автоматизація найбільш рутинних операцій, що регулярно доводиться здійснювати користувачеві комп'ютера.
Прикладами таких операцій можуть служити - обробка текстових файлів; копіювання, переміщення, перейменування, видалення файлів; робота з папками; архівація; створення резервних копій баз даних і т. п.
Пакетні файли підтримують оператори if і goto (а в системах сімейства Windows NT і розширений оператор for), що дозволяє обробляти результати виконання попередніх команд або додатків і в залежності від цього виконувати далі той чи інший блок команд (як правило, в разі вдалого завершення додаток повертає 0 у змінній errorlevel; в разі невдалого - 1 або більше значення).
Пакетні файли в DOS мають розширення. bat; для інших операційних систем вони можуть мати інші розширення - наприклад,. CMD в Windows NT і OS / 2, або .BTM в 4DOS або подібних оболонках.
З теорією розібралися, приступимо до, власне, практиці, а саме створення bat-ника.
до змісту ↑
Як створити bat файл і використовувати його
Давайте підготуємо невелике тестове поле, щоб було на базі чого експериментувати. Відкрийте мій комп'ютер і створіть на диску C: \ папочку test. Зайдіть в неї і створіть в ній папку testcopy.
Накидали туди файлів (штук 5-10) - фотки, документи і тд і тп (будь-яких коротше). Поле для експериментів готове. Далі нам треба створити, власне, сам bat файл після натискання на який у нас буде відбуватися копіювання папки C: \ test \ testcopy в, скажімо, папку C: \ test \ backup. Створювати другу папку (яка backup) не треба - вона буде з'являтися автоматично.
Створити bat дуже просто. Тиснемо правою кнопкою мишки там де хочемо його створити (розташування не важливо - можна прямо на робочому столі) і вибираємо "Створити" - "Текстовий документ".
Задаємо створеному файлу назву і відкриваємо його блокнотом або будь-яким іншим текстовим редактором. Тобто на даний момент ми маємо відкритий текстовий файлик, який називається, припустимо, копірованіе.txt.
до змісту ↑Додаємо в файл команду, наприклад, для копіювання
Далі, власне, нам в цей файлик потрібно ввести команду, яка буде відтворюватися по засобом консолі (cmd) при запуску цього файлу. В даному випадку ми скористаємося командою xcopy бо саме вона дозволяє копіювати файли, каталоги і підкаталоги. З огляду на все шляху у нас вийде наступна команда:
xcopy C: \ test \ testcopy C: \ test \ backup / f / i / y / s
Роз'яснюю що тут до чого:
- xcopy - це сама команда;
- C: \ test \ testcopy - це джерело, тобто папка звідки копіюються файли і каталоги;
- C: \ test \ backup - це результат, тобто місце, куди будуть скопійовані файли і каталоги;
- / F / i / y / s - додаткові параметри синтаксису для команди xcopy (см.сінтаксіс нижче по тексту).
Кількість рядків може бути будь-яким, тобто якщо Вам треба скопіювати 100 папок, Ви пишете 100 рядків в одному файлі і міняєте в них тільки шляху.
Далі, щодо синтаксису (які додаткові параметри є, які можна дописати і навіщо вони потрібні).
Які є (тобто ті, що я вказав в даному прикладі):
- / F - виводить імена вихідних файлів і файлів-результатів в процесі копіювання
- / I - створює новий каталог в разі, якщо той відсутній у кінцевому шляху
- / Y - перезаписує файл в разі, якщо він вже є
- / S - копіює каталоги і підкаталоги, якщо вони не порожні. Якщо параметр / s не заданий, команда xcopy буде працювати тільки з одним каталогом.
Як на мене - це основний список параметрів необхідних для "тихого" копіювання, тобто без зайвих питань про перезапис, створення каталогів і іншої шушваль. Відносно решти синтаксису можна почитати, наприклад, тут .
Далі нам треба змінити формат файлу з txt на bat. Робиться це в такий спосіб.
до змісту ↑Спочатку відкриваємо "Мій комп'ютер", там переходимо "Сервіс" - "Властивості папки" - "Вид" і знімаємо галочку "Приховувати розширення для зареєстрованих типів файлів".
Тиснемо "Застосувати" і "Ок". Тепер ми можемо змінювати розширення відомих системі файлів, а тому прямуємо до нашого файлик, тиснемо правою кнопкою мишки, вибираємо "Перейменувати" і методом друкування на клавіатурі міняємо розширення з txt на bat (на питання системи чи варто це робити відповідаємо ствердно).
В результаті ми маємо наступну картину (в вашому випадку файлик називається інакше, але має той же формат):
Власне, все, що нам залишається - це запустити цей файл простим кліком по ньому мишки.
Якщо Ви все зробили правильно, то перед Вами промайне консоль і за відомим шляху з'явиться нова татко з заданим заздалегідь назвою і файлами всередині скопійованими з відомої Вам папки, тобто картина вийде приблизно наступна:
Ну або трохи інакша, в залежності від того які шляхи і назви папок Ви прописували в команді.
Відредагувати файлик можна змінивши йому розширення назад на .txt і відкривши будь-яким текстовим редактором.
Післямова
Як я вже сказав і Ви самі напевно усвідомили - використання подібного bat файл 'а часто економить купу часу, тобто один раз написав і періодично запускаєш одним кліком і замість багатохвилинної стусанів мишкою і повзання по всіх папок отримуєш автоматизований процес копіювання.
При бажанні можна поставити запуск цього bat-ник в певні дні через планувальник Windows (або інші програми дозволяють це робити) і взагалі забути про проблему довгих ручних backup 'ов.
Якщо є якісь питання або проблеми - питайте. Як завжди допоможу чим зможу;)
PS: Якщо мені не зраджує пам'ять, то це шматочок теми з розумних адмінських книжок, а саме з розділу "Автоматизація адміністрування" .. так що можете собою пишається :)
Ми в соц.сетях: ВК Facebook Twitter Telegram