За допомогою bat файлу. Як створити bat файл

У цій статті:

  • Визначення змінних
  • Змінні командні рядки (параметри виклику bat-файлу)
  • Оператор умови IF
  • Функції
  • Використання значень, що повертаються (обробка коду завершення програми)

Визначення змінних

SET<Имяпеременной>=<Значениепеременной>

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

SET BLASTER=A220 I5 D1 P330

то при використанні в пакетному файлі наступної конструкції:

ECHO %BLASTER%

на екран буде виведено "A220 I5 D1 P330". Змінні, визначені за допомогою оператора SET, називаються змінними оточення середовища (environment) і є видимими після виконання до перезапуску DOS (якщо не змінювати його вручну в пам'яті). Тобто її можна використовувати з одного пакетного файлу або програми після завдання в іншому. Найбільш відомою є змінна PATH, що являє собою набір шляхів для швидкого пошукуфайлів. Вона задається у файлі autoexec.bat.

Змінні командного рядка
(Параметри виклику bat-файлу)

%<цифра 0-9>

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

Усього може бути 10 одночасно існуючих незалежних змінних. Для написання складних програм це досить мало, хоча для роботи часто вистачає і 3-4. Значення змінної дорівнює значенню відповідного параметра командного рядка. Змінна %0 міститиме ім'я.bat-файлу і, якщо ви вказали, шлях до нього. Тобто якщо ви запустили файл abc.bat з наступними параметрами:

abc.bat a bc def

то змінна %0 міститиме значення abc.bat , %1 міститиме значення a, %2 міститиме bc , а %3 - def . Ця властивість широко використовується для створення універсальних пакетних файлів при роботі з операціями, що повторюються.

Щоб отримати більше 10 змінних з командного рядка, можна скористатися командою SHIFT .

Команда SHIFT дозволяє використовувати число параметрів командного рядка далі 10. Однак, при цьому втрачаються відповідно більш ранні параметри. Іншими словами, команда SHIFT зрушує всі значення змінних на один крок ліворуч. Тобто, змінна %0 міститиме значення, яке раніше дотримувалося змінної %1 , а змінна %1 - значення змінної %2 до зсуву. Однак, ця операція є незворотною, тобто неможливо зрушити змінні назад.

Оператор умови IF

На щастя, командний інтерпретатор cmd.exe сучасних ОС Windows 2000 і більше підтримує блоки команд у конструкціях розгалуження, що усуває необхідність застосування IF з мітками. Блоки команд полягають у круглі дужки. Виглядає це так (імітуючи C/C++ indentation style):

if condition (

Rem Команди гілки 'then'

Rem ...

) else (

Rem Команди гілки 'else'

Rem ...

Конкретний прикладвикористання:

@echo off

set BUILDMODE=%1

if "%BUILDMODE%" == "" (

Echo FAIL: Аргумент є обов'язковим ^(--debug, --release^)

Exit /b 1

rem Видаляємо з аргументу всі дефіси для спрощення обробки

set BUILDMODE=%BUILDMODE:-=%

if "%BUILDMODE%" == "debug" (

Set CCFLAGS=/Od/MDd/Z7

) else (

Set CCFLAGS=/O2/MD

На мій погляд, із цим уже цілком можна жити. Але, як завжди, життя не таке просте, як здається. Є одна проблема. Змінні, що використовуються в блоках then та else, розкриваються перед початком виконання цих блоків, а не в процесі виконання. У наведеному прикладі це не викликає жодних проблем, однак у наступному викличе:

if "%BUILDMODE%" == "debug" (

Echo INFO: Встановлюємо debug-режим оточення

Set OPTFLAGS=/Od

Set CCFLAGS=%OPTFLAGS%/MDd/Z7

) else (

Echo INFO: Встановлюємо release-режим оточення

Set OPTFLAGS=/O2

Set CCFLAGS=%OPTFLAGS% /MD

Загвоздка в тому, що в обох блоках підстановка змінної OPTFLAGS відбудеться до того, як вона буде змінена в процесі виконання цього блоку. Відповідно, CCFLAGS буде підставлено те значення, яке OPTFLAGS мала на момент початку виконання даного if-блоку.

Вирішується ця проблема шляхом використання відкладеного розкриття змінних. Змінні, ув'язнені в !…! замість %…% будуть розкриті в їх значення тільки в момент безпосереднього використання. За замовчуванням цей режим вимкнено. Увімкнути його можна або за допомогою ключа /V:ON під час виклику cmd.exe , або за допомогою команди:

у тексті самого bat-файлу. Другий спосіб мені видається зручнішим – не дуже здорово вимагати від когось запуску твого сценарію з певним параметром.

З урахуванням сказаного попередній «неправильний» приклад може бути виправлений так:

setlocal enabledelayedexpansion

if "%BUILDMODE%" == "debug" (

Echo INFO: Setting up debug mode environment

Set OPTFLAGS=/Od

Set CCFLAGS=!OPTFLAGS! /MDd/Z7

) else (

Echo INFO: Setting up release mode environment

Set OPTFLAGS=/O2

Set CCFLAGS=!OPTFLAGS! /MD

Ось тепер це майже повноцінний if-then-else блок. Майже тому, що якщо в одній з команд echo у вас зустрінеться кругла дужка, що закриває, то вам необхідно заекранувати її символом ^, інакше синтаксичний аналізатор плутається…

Але в будь-якому випадку, це набагато краще за шалену кількість міток і переходів.

Функції

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

Є особливий синтаксис команди call, який дозволяє перейти на мітку в цьому ж bat-файлі із запам'ятовуванням місця, звідки було здійснено цей виклик:

call:мітка аргументи

Повернення з функції здійснюється командою:

exit /b [опціональний код повернення]

Ключ /b тут дуже важливий: без нього буде зроблено вихід не з функції, а зі сценарію взагалі.

За подробицями наберіть у командному рядку:

call/?

exit /?

Що цікаво, команда call із таким синтаксисом підтримує рекурсивні виклики з автоматичним створеннямнового кадру для змінних аргументів %0-%9. Іноді це може бути корисним. Ось класичний приклад рекурсивного підрахунку факторіалу командною мовою:

@echo off

call:factorial %1

echo %RESULT%

exit

rem Функція для підрахунку значення факторіалу

rem Вхід:

rem %1 Число, для якого потрібно підрахувати факторіал

rem Вихід:

rem %RESULT% Значення факторіалу

:factorial

if %1 == 0 (

Set RESULT=1

Exit /b

if %1 == 1 (

Set RESULT=1

Exit /b

set /a PARAM=%1 - 1

call:factorial %PARAM%

set /a RESULT=%1 * %RESULT%

exit /b

Приклад роботи:

> factorial.bat 10

3628800

Використання значень, що повертаються
(обробка коду завершення програми)

Будь-яка програма після завершення своєї роботи повертає операційній системі код свого завершення. Прийнято за успішному завершенніповертати нуль, інакше – код помилки. Іноді, чи, вірніше, часто, програма " свідомо " повертає ненульове значення у тому, щоб у пакетному файлі можна було " дізнатися " деякі подробиці її роботи. Наприклад, програма повертає код натиснутої клавіші, а.bat-файл по ньому виконує різні дії.

Як пакетний файл може дізнатися код завершення виконаної програми? Для цього передбачено ключову змінну ERRORLEVEL.

Приклад пакетного файлу з errorlevel"ами:

@ECHO OFF

REM Запускаємо програму prg1.exe

PRG1.EXE

REM Аналіз коду завершення

IF ERRORLEVEL 2 GOTO FILENOTFOUND

IF ERRORLEVEL 1 GOTO WRITEERROR

IF ERRORLEVEL 0 GOTO EXITOK

GOTO ONEXIT

:FILENOTFOUND

ECHO Помилка! Файл не знайдено!

GOTO ONEXIT

:WRITEERROR

ECHO Помилка запису!

GOTO ONEXIT

:EXITOK

ECHO Програма завершена успішно.

GOTO ONEXIT

:ONEXIT

Зверніть увагу – аналіз коду завершення починається не з нуля, а з максимально можливого значення. Справа в тому, що подібна перевірка означає: "якщо errorlevel більше або дорівнює значенню, то...". Тобто, якщо ми перевірятимемо, починаючи з нуля, будь-яке значення буде істинним на першому ж рядку, що неправильно.

Це найпоширеніша помилка у подібних програмах.

p align="justify"> При роботі на комп'ютері часто виникає необхідність повтору одних і тих же DOS-команд для здійснення періодично виконуваних дій, побудови складної і багаторівневої послідовності виконуваних команд або додатків, автоматизації роботи з додатками і файлами за участю або відсутність користувача. В операційній системі можна записати кілька команд у bat-файлі. При цьому просто запускаючи даний командний файл (часто його називають скрипт, або просто «батник»), можна здійснювати виконання прописаних команд, а прописавши його в подіях планувальника Windows, можна автоматизувати цей процес.

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

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

Команди, які містять bat-файл, за функціоналом можна умовно поділити на кілька груп:

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

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

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

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

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

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

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

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

Параметрами, які передаються командному файлу (файлам), що викликається, зазвичай є символи %1 - %9. Коли команди bat-файлів усі послідовно будуть пройдені, продовжиться виконання вихідного скрипту з наступного рядка.

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

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

При виконанні на кожну команду буде видаватися запит Y або N. Якщо потрібно виконання команди - натискаємо клавішу Enter або Y. Якщо потрібно пропустити команду - натискаємо ESC або N.

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

Коли запускається bat-файл, команди рядковим чином перед виконанням відображаються на екрані і після цього виконуються. Іноді це викликає незручність, тому що при великому батнику команди довгим списком пробігають перед користувачем на екрані, а іноді потрібний показ, наприклад, для діалогу або налагодження. Щоб bat-файл команди виводив на дисплей, використовується команда ECHO ON. Щоб вимкнути цей режим, необхідно ввести ECHO з параметром OFF. При цьому всі команди, що виконуються далі, показуватися на екрані вже не будуть.

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

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

Якщо після команди ECHO будуть розташовані символи, відмінні від ON або OFF, вони виводитимуться на екран у будь-якому режимі. Якщо ECHO буде без параметрів, вона видає на екран стан режиму відображення виконуваних команд — включений чи вимкнений.

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

Для відтворення звукового сигналупотрібно вивести стандартний символ із кодом 7. Зробити це можна, натиснувши клавішу та «7» на цифровій клавіатурі (з написом home).

Для підвищення зручності читання повідомлень можна застосувати команду ECHO з параметром «.» (Вона ставиться відразу за командою без пробілу) або спеціальним символом з кодом 255. На екрані це буде виглядати як порожній рядок.

Команду ECHO можна використовувати для виведення повідомлень в окремий файл. Суть її полягає у перенаправленні виведення повідомлень на запис у файл, а чи не на екран монітора. Для збереження логів, анкетування, запису подій можна використовувати bat. Команди виведення мають такий формат:

ECHO-повідомлення >> ім'я файлу — команда додає рядок до кінця існуючого файлу. Якщо такого файлу в даній директорії немає, створюється новий файл.

ECHO-повідомлення > ім'я файлу - цією командою створюється новий файл, і в нього записується поточний рядок. У разі наявності такого файлу в поточній директорії, вміст його буде видалено та записано команду або її результат.

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

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

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

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

списку файлів

Для послідовного виконання декількох файлів зі списку, що знаходяться в одній директорії, можна також використовувати bat-файл. Команди «запуск програми за назвою» та «запуск програми з розширення файлу» часто можуть допомогти з автоматизацією обробки документів, наприклад, сортування вкладень пошти. Вони відрізняються параметрами для команди FOR. Формат написання її наведено нижче:

FOR %x IN (список файлів) DO команда, де:

Х – будь-який символ, за винятком цифр від 0 до 9;

Список - розділені пробілами імена файлів або назва одного файлу; при цьому можна використовувати спецсимволи "?" та «*» для заміни від одного до декількох знаків у назві файлів;

Команда - будь-яка DOS-команда чи програма, крім FOR; якщо є необхідність використання FOR, замість %x потрібно вказати %%x.

У разі використання цієї команди для написання bat-файлів потрібно враховувати, що імена у програмах формату DOS мають обмеження за довжиною назви. Щоб переключити команду FOR на роботу з довгими іменами файлів, потрібно не забути перед нею запустити команду LFNFOR ON для включення режиму роботи з довгими іменами та LFNFOR OFF для його відключення та повернення до стандартної довжини файлів.

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

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

Для зручності управління порядком запуску команд у bat-файлах у них часто використовують команди переходів та мітки, якими ці переходи здійснюються.
Мітка являє собою будь-який рядок файлу, що виконується, яка починається з символу «двокрапка». Ім'я мітки - це набір символів після двокрапки до кінця рядка або до першого пробілу, після якого залишок рядка ігнорується, що можна використовувати як коментар до мітки переходу.

Команда переходу має написання GOTO з назвою мітки через пропуск. Якщо параметра немає або назва мітки в командному файлі не виявлена, робота скрипта на цій команді припиняється. Приклад:

REM (запускаються необхідні команди).

У цьому прикладі послідовне виконання командного файлу, дійшовши до GOTO zzz, переходить на мітку: zzz і продовжується з REM, ігноруючи все, що знаходиться між командою переходу та вказаною міткою.

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

Bat-файл може виконувати або не виконувати команди в залежності від різних умов, якщо в ньому застосовується перевірка настання IF події. Формат цієї команди виглядає як "IF умова команда".

Умова являє собою різні варіанти виразів:

ERRORLEVEL число — у тому випадку, коли попередня програма, що виконується, закінчилася з кодом завершення, рівним зазначеному числовому значенню або більше за нього, умова буде істинною.

РЯДОК 1 == РЯДОК 2 - у разі повного збігу рядків умова стає істинною. Замість рядків можна встановити символи %0 - %9, тоді будуть порівнюватися параметри командного файлу.

EXIST - ім'я файлу - якщо вказаний файл існує, то дійсна умова.

NOT - умова - якщо зазначена умова помилкова, то на виході команди отримаємо справжнє значення.

Застосовувані команди в bat-файлах

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

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

Командні файли сильно спрощують життя системним адміністраторам під час повсякденної роботи. Найбільш поширеною сферою їх застосування є створення, видалення, перейменування та багато іншого. Все це ґрунтується на використанні команди bat-файлу COPY. Наприклад, можна створити програму, яка робить архівні копії документів з обраної папки з даними користувача певних форматів, виключивши, припустимо, медіафайли великого обсягу, забезпечивши резервування в папці з ім'ям користувача і назвати її "Команда_копіювання_файлів.bat". Після цього необхідно забезпечити її запуск у певний час за допомогою вбудованого планувальника або силами самої програми та тим самим забезпечити збереження даних користувача.

BAT файл це код програми збережений з розширенням.bat або.CMD кому як подобається.

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

За допомогою файлу bat можна відкривати файли на комп'ютері, копіювати переміщати та видаляти файли за маскою та без, запускати скрипти сторонніх програм, відкривати браузер із потрібним url. Я часто використовую такі файли для відкриття FTP папки на віддаленому сервері.

Як створити bat файл

Створити файли бат простіше простого. Відкрийте звичайний текстовий редактор та збережіть його з розширенням.bat.

Також можна використати просунуту програму «notepad++»

Ось зразок коду щоб написати bat файл:

explorer.exe "C:\Program Files"

Цей код відкриє папку "program files" на диску C:\

Написання.bat (бат) файлів вимагає від користувача комп'ютера особливої ​​обережності. Так як батники можуть видаляти цілі директорії, форматувати розділ комп'ютера

Ось приклад коду - форматування розділу F: \

@echo off
format F /q /autotest

Приклад коду bat — Створити 100 папок:

@echo off
for /l %%i in (1,1,100) do mkdir "dir %%i"

Створити bat ом можна і (Вірус) шкідливу програму скрипт: Наприклад - нижченаведений код видалить важливі exe файли.

@echo off
do del "c:\windows\exploer.exe"
do del "c:\windows\mspoint.exe"
do del "c:\windows\notepad.exe"

Команда створити папку bat файлом

Нижченаведений код створить 3 папки там де сам файл розташований. Також перша створена папка міститиме ще одну вкладену папку. Так як імена папок написані на кирилиці, то дописуємо рядок кодування chcp 1251. Такий файл звичайним блокнотом написати не можна, тому що в ньому немає можливості змінити кодування російських букв. Скористайтеся програмою notepad++.

chcp 1251
MD .\папка_артикул\база\
MD .\директорія\
MD .\сховище\

Завантажити Bat файл

- файл створює 3 папки

Приклад коду bat як відкрити папку

explorer.exe "C:\Users\Administrator\Desktop\фото\"

Формат bat чим відкрити?

Так само як і створення файлів.bat у текстовому редакторі, їх можна відкрити тим самим блокнотом, wordpad або notepad++.

Єдине, що потрібно пам'ятати при відкритті файлу bat - при подвійному клацанні миші на файлі він запустить програму. Тобто щоб відкрити його для редагування, наведіть курсор на файл, що редагується, і правою кнопкою миші відкрийте контекстне меню де вибирайте відкрити за допомогою notepad++

Також якщо в контекстному меню натиснути просто відкрити Ви також запустите виконання бат-файлу.

Є ще один спосіб: Відкрийте текстовий редактор блокнот і перетягніть у нього ваш файл, що редагується.

Важливо:Користувачі часто плутають поняття файлів з розширенням.bat та поштовий клієнт «The Bat» для надсилання та прийому поштових документів.

Основні оператори Bat-файлу

@ Усі виконувані bat команди виводяться на екран, щоб забрати зайве, перед командою ставиться «собака». Часто використовується із @echo off.
set Задає змінні. Наприклад, setper=c:\windows тут per присвоюємо шлях. У змінну можна записати громіздке значення та вказати її у сценарії, що зробить код компактнішим. Якщо її зміст зміниться, тоді доведеться змінювати скрізь значення, де передбачена ця змінна.
:: Один із двох методів коментування у bat файлі без виведення цього рядка на екран.
:LABEL При додаванні до слова двокрапки створюється мітка, яка дозволяє перейти до різних розділів батника. Мітка може мати іншу назву, LABEL це приклад.
CALL Bat команда викликає один пакетний файл в іншому. Усі параметри, описані в одному файлі, можуть бути передані один одному.
CHOICE Команда вибору.
CLS Очищає вміст командного інтерпретатора, що виведено на екран вище за CLS.
ECHO Виводить повідомлення на екран. Наприклад, «ECHO Як справи!» виведе «Як справи!». Якщо не використовувати @ECHO off на початку пакетного файлу, тоді Ви побачите шлях до bat файлу та два повідомлення, що є зайвим. Ви можете створити порожній рядок введіть ECHO. з крапкою в кінці.
EXIT Завершує поточний пакетний сценарій.
GOTO LABEL Використовується для переходу до певної мітки, в даному випадку LABEL і виконує сценарій після неї.
IF Як і в мовах програмування batcomanda ifуособлює виконання умови, залежно від якого сценарій піде тим чи іншим шляхом. З синтаксисом знайомтеся у довідці.
for Цикл, що використовується для організації виконання тих самих дій.
PAUSE Якщо необхідно ознайомитись з результатом сценарію, а він виконується, і вікно швидко закривається, тоді використовуйте PAUSE. Вона дозволить подивитися результат і завершити сценарій натискання будь-якої кнопки.
REM Другий спосіб коментування. На відміну від: друкується на екрані, якщо немає конструкції @ECHO off.
SHIFT Змінює положення пакетних параметрів у файлі bat.
START Запуск програми, вікна і т.д. Має багато атрибутів.

Для більш детального опису коду bat файлів читайте довідку Windows

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

Автоматизація – це просто

Як створити bat-файл? Для цього необхідно виконати такі дії:

  1. У будь-якому текстовому редакторі, наприклад, Notepad або WordPad, створити текстовий документ.
  2. Записати свої команди, починаючи з @echo , а потім (щоразу в новому рядку) - title [назва пакетного скрипта], echo [повідомлення, яке буде виведено на екран] і pause.
  3. Зберегти текст в електронному документі з розширенням .bat (наприклад, test.bat).
  4. Для запуску слід двічі клацнути по щойно створеному пакетного файлу.
  5. Щоб його відредагувати, необхідно клацнути на ньому правою кнопкоюмиші та з контекстного меню вибрати пункт «Змінити».

Необроблений файл виглядатиме приблизно так:

title Це ваш перший скрипт bat-файлу!

echo Ласкаво просимо до сценарію пакетної обробки!

Більш детально про команди bat-файлів та їх використання йтиметься нижче.

Крок 1: створення програмного скрипту

Припустимо, що у користувача часто виникають проблеми з мережею. Він постійно користується командним рядком, набираючи ipconfig і пінгу Google для усунення несправностей в Мережі. Через деякий час користувач розуміє, що було набагато ефективніше, якби він написав простий bat-файл, записав його на свій USB-накопичувач і запускав його на комп'ютерах, які він діагностує.

Створення нового текстового документа

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

Додавання коду

Подвійне клацання на цьому новому текстовому документі відкриє прийнятий за промовчанням текстовий редактор. Можна скопіювати та вставити наведений вище приклад коду у текстовий запис.

Збереження

Вищезгаданий скрипт виводить на екран текст «Ласкаво просимо до сценарію пакетної обробки!». Електронний документнеобхідно записати, вибравши пункт меню текстового редактора"Файл", "Зберегти як", а потім вказати бажане ім'я bat-файлу. Його слід завершити розширенням.bat (наприклад welcome.bat) і натиснути «ОК». Для правильного відображення кирилиці в деяких випадках слід переконатися в правильному виборікодування. Наприклад, при використанні консолі русифікованої системи Windows NT документ необхідно зберегти в CP866. Тепер потрібно двічі клацнути на ярлику bat-файлу, щоб активувати його.

Але на екрані з'явиться напис:

"Ласкаво просимо до сценарію пакетної обробки! Для продовження натисніть будь-яку клавішу..."

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

"HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.BAT\UserChoice".

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

Крок 2: знайомство з деякими командами

Якщо користувач ПК знайомий з тим, як слід виконувати команди консолі DOS, він буде майстром створення програмних скриптів, тому що це одна і та ж мова. Рядки в bat-файлах повідомлять інтерпретатору cmd.exe все, що потрібно. Це економить час та сили. Крім того, є можливість задати деяку логіку (наприклад, прості цикли, умовні розпорядження тощо, які концептуально схожі на процедурне програмування).

Вбудовані команди

1. @echo - це команда bat-файлів, яка дозволить побачити роботу скрипта у командному рядку. Вона використовується для перегляду виконання робочого коду. Якщо у пакетного файлу виникають проблеми, то дана команда дозволить швидко локалізувати проблеми. Додавання off дозволяє швидко завершити виконання коду, уникаючи виведення непотрібної інформації на екран.

2. Title надає ті ж можливості, що й тег у HTML, тобто створює заголовок для пакетного скрипта у вікні командного рядка.</p><p>3. Call викликає один bat-файл із іншого або підпрограму всередині одного сценарію. Наприклад, <a href="https://realbazar.ru/uk/series-galaxy-note/powerpivot-instrukciya-po-primeneniyu-power-pivot-okonnye-funkcii-pod-sousom-dax/">функція power</a>обчислює ступінь %2 числа %1:</p><p>if %counter% gtr 1 (</p><p>set /a counter-=1</p><p>endlocal & set result=%prod%</p><p><img src='https://i2.wp.com/syl.ru/misc/i/ai/324915/1862019.jpg' width="100%" loading=lazy loading=lazy></p><p>4. Cls очищає командний рядок. Використовується для того, щоб попередній висновок <a href="https://realbazar.ru/uk/samsung-galaxy-s5/prilozheniya-dlya-blokirovki-ekrana-blokirovka-ekrana-na-android-kak-nastroit/">стороннього коду</a>на заваді перегляду ходу виконання поточного скрипта.</p><p>5. Color задає колір шрифту та фону. Наприклад, команда color f9 задає білі літери на блакитному тлі. Команда без параметра відновлює стандартні установки.</p><p>6. Echo служить виведення інформації, і навіть включення (echo on) чи виключення (echo off) такого вывода. Наприклад, команда Echo. виводить <a href="https://realbazar.ru/uk/comparison/kak-vkontakte-pereiti-druguyu-strochku-kak-pereiti-na-novuyu-stroku/">новий рядок</a>без крапки, а echo . - Точку. Без параметрів команда виводить на екран інформацію про свій статус - echo on або echo off.</p><p>7. Rem забезпечує ту ж функціональність, що й тег<! в HTML. Такая строка не является частью выполняемого кода. Вместо этого она служит для пояснения и предоставления информации о нем.</p><p>8. Pause дозволяє перервати виконання команд bat-файлу. Це дозволяє прочитати виконані рядки перед продовженням програми. При цьому на екрані відображається повідомлення «Для продовження натисніть будь-яку клавішу...».</p><p>9. Set дозволяє переглянути або встановити змінні оточення. З ключем /p команда запитує користувача введення і зберігає його. З параметром /а вона дає можливість виконувати прості арифметичні операції, також привласнюючи результат змінної. При операціях з рядками не повинно бути прогалин ні до, ні після знаку рівності. Наприклад, команда set виводить на дисплей перелік змінних оточення, set HOME - значення аргументів, що починаються з “HOME”, а set /p input=введіть ціле: запитує введення цілого числа і надає його відповідної змінної.</p><p>10. Start "" [веб-сайт] запустить заданий веб-сайт у веб-браузері, який використовується за замовчуванням.</p><p>11. If служить для перевірки певної умови. Якщо воно істинно, то виконується наступна команда. Умови бувають 3 видів:</p><ul><li>ERRORLEVEL - перевірка коду завершення останньої виконаної інструкції на відповідність або перевищення зазначеного числа. При цьому 0 позначає успішне виконання завдання, а будь-яке інше число зазвичай позитивне, повідомляє про помилку. Наприклад, можна використовувати вкладені команди для точного визначення коду завершення: if errorlevel 3 if not errorlevel 4 echo сталася помилка №3.</li><li>Рядок1 == рядок2 - перевірка збігу двох рядків. Наприклад, за відсутності зовнішнього параметра команда if "%1"= ="" goto ERROR передасть керування міткою ERROR.</li><li>EXIST ім'я – перевірка існування файлу із зазначеним ім'ям. Наприклад, якщо не існує A:\program.exe COPY C:\PROJECTS\program.exe A: копіює програму program.exe на диск А, якщо її там немає.</li> </ul><p>12. Else повинна бути в одному рядку з командою If. Вказує на необхідність виконання наступної інструкції, якщо вираз виявиться хибним.</p><p><img src='https://i1.wp.com/syl.ru/misc/i/ai/324915/1862021.jpg' width="100%" loading=lazy loading=lazy></p><p>13. For використовується для повторення певних дій із кожним членом списку. Має формат для %%аргумент in (список) do команда. Аргументом може бути будь-яка буква від A до Z. Список являє собою послідовність рядків, розділених пробілами або комами. Підстановочні знаки також можна використовувати. Наприклад:</p><ul><li>for %%d in (A, C, D) do DIR %%d - виводить послідовно на екран директорії дисків А, С і D;</li><li>for %%f in (*.TXT *.BAT *.DOC) do TYPE %%f - друкує вміст усіх .txt-, .bat- та .doc-файлів у поточній директорії;</li><li>for %%P in (%PATH%) if exist %%P\*.BAT COPY %%P\*.BAT C:\ВАТ - копіює всі пакетні файли, які існують у всіх каталогах маршруту пошуку в папку С:\ ВАТ.</li> </ul><p>14. Двокрапка (:) перед словом утворює з нього посилання, яке дозволяє пропускати частину <a href="https://realbazar.ru/uk/games-for-android/optimizaciya-programmnogo-koda-osnovnye-vozmozhnosti-optimizacii-koda-programmistom-i-kompilyatorom-t/">програмного коду</a>або повертатись назад. Використовується з командами Call та Goto, вказуючи, з якого місця слід продовжувати виконання bat-файлу, наприклад, при виконанні певної умови:</p><p>15. Змінні:</p><ul><li>%%a означає кожен файл у папці;</li><li>%CD% – поточна директорія;</li><li>%DATE% – системна дата, формат якої залежить від локалізації;</li><li>%TIME% - <a href="https://realbazar.ru/uk/news/sistemnyi-blok-shumit-vo-vremya-raboty-silno-gudit-kompyuter/">системний час</a>як ЧЧ:ММ:СС.мм.;</li><li>%RANDOM% - згенероване псевдовипадкове число в діапазоні від 0 до 32767;</li><li>%ERRORLEVEL% - код завершення, який повертається останньою виконаною командою або bat-скриптом.</li> </ul><p>Витягти частину рядка, що міститься в змінній, за відомого її положення та довжини можна так:</p><p>%[змінна]:~[початок],[довжина]%. Наприклад, показати дату у форматі ДД/ММ/РРРР як РРРР-ММ-ДД можна так: echo %DATE:~6,4%-%DATE:~3,2%-%DATE:~0,2%.</p><p>16. (".") - коренева папка. Під час роботи з консоллю перед зміною імені файлу, його видаленням і т. д. необхідно направити дію команди до конкретного каталогу. При використанні пакетного файлу достатньо запустити його у будь-якому потрібному каталозі.</p><p>17. %цифра - приймає значення параметрів, що передаються користувачем у bat-файл. Можуть розділятися пробілами, комами або двокрапками. "Цифра" є числом від 0 до 9. Наприклад, %0 приймає значення поточної команди. %1 відповідає першому параметру і т.д.</p><p>18. Shift – команда, яка використовується для зміщення вхідних параметрів на одну позицію. Застосовується, коли пакетному файлу надсилаються зовнішні аргументи. Наприклад, наступний bat-файл копіює на диск D файли, задані як параметри командного рядка:</p><p>if not (%1)==() goto next</p><p>Крім того, з аргументами можна проводити такі маніпуляції:</p><ul><li>%~ - видалити навколишні лапки;</li><li>%~f - розширити параметр до повного імені шляху разом із ім'ям диска;</li><li>%~d – показати ім'я диска;</li><li>%~p - відобразити лише шлях;</li><li>%~n - виділити з параметра лише ім'я файлу;</li><li>%~x - залишити лише розширення;</li><li>%~s - перетворити шлях у виставу з короткими іменами;</li><li>%~a - отримати атрибути файлу;</li><li>%~t - вивести дату та час створення;</li><li>%~z – відобразити розмір файлу;</li><li>%~$PATH: - здійснює пошук в директоріях, перерахованих у змінній оточенні PATH, і розширює параметр до першого знайденого відповідного повного імені або видає порожній рядок у разі невдачі.</li> </ul><p><img src='https://i1.wp.com/syl.ru/misc/i/ai/324915/1862020.jpg' width="100%" loading=lazy loading=lazy></p><h2>Підстановочні знаки</h2><p>Багато команд приймають шаблони імен файлів - знаків, які дозволяють встановити відповідність до групи імен файлів. До підстановочних знаків відносяться:</p><ul><li>* (зірочка) - позначає будь-яку послідовність символів;</li><li>? (знак питання) – замінює один (або 0) знак, відмінний від точки (.).</li> </ul><p>Наприклад, команда dir *.txt виводить список txt-файлів, а dir ???.txt – перелік <a href="https://realbazar.ru/uk/news/tekstovyi-dokument-hosts-fail-hosts-chto-eto-takoe-gde-on-nahoditsya-v-windows/">текстових документів</a>, Довжина імені яких не перевищує 3 букв.</p><h2>Функції</h2><p>Як і підпрограми, вони емулюються за допомогою команд call, setlocal, endlocal та міток. Наступний приклад демонструє можливість визначення змінної, в якій зберігається результат, у рядку виклику:</p><p>call:say result=world</p><p><img src='https://i1.wp.com/syl.ru/misc/i/ai/324915/1862022.jpg' width="100%" loading=lazy loading=lazy></p><h2>Обчислення</h2><p>У bat-файлах можна виконувати прості арифметичні операції з цілими 32-бітовими числами та бітами за допомогою команди set/a. Максимальним числом, що підтримується, є 2^31-1 = 2147483647, а мінімальним - -(2^31) = -2147483648. Синтаксис нагадує мову програмування Сі. До арифметичних операторів відносяться: *, /, %, +, -. У bat-файлі % (залишок цілого розподілу) повинен вводитися як "%%".</p><p>Оператори з двійковими числами інтерпретують число як 32-бітову послідовність. До них відносяться: ~ (побітове НЕ або доповнення), & (І), | (АБО), ^ (що виключає АБО),<< (сдвиг влево), >> (зсув праворуч). Логічним оператором заперечення є! (знак оклику). Він змінює 0 в 1 і ненульове значення в 0. Оператором комбінування служить (кома), яка дозволяє виробляти <a href="https://realbazar.ru/uk/series-galaxy-a/cifry-po-poryadku-nazvaniya-bolshih-chisel-kak-obrazuyutsya-sostavnye-chislitelnye-v-angliiskom-yazyke/">більша кількість</a>операцій на одній команді set. Комбіновані оператори присвоєння += і -= у виразах a+=b і a-=і відповідають виразам a=a+b та a=a-b. Також працюють і *=, %=, /=, &=, |=, ^=, >>=,<<=. Приоритет операторов следующий:</p><p>(); %+-*/; >>, <<; &; ^; |; =, %=, *=, /=, +=, -=, &=, ^=, |=, <<=, >>=; ,</p><p>Літерали можна вводити у вигляді десяткових, шістнадцяткових (з провідними 0x) та вісімкових чисел (з провідним нулем). Наприклад, set /a n1=0xffff надає n1 шістнадцяткове значення.</p><h2>Зовнішні команди</h2><ul><li>Exit використовується для виходу з консолі DOS або (з опцією /b) лише поточного bat-файлу чи підпрограми.</li><li>Ipconfig – це класична консольна команда, яка виводить інформацію про мережу. Вона включає MAC- та IP-адреси, і маски підмережі.</li><li>Ping пінгує IP-адресу, відправляючи до неї пакети даних, щоб оцінити його віддаленість та час очікування (відгуку). Також використовується для завдання паузи. Наприклад, команда ping 127.0.01 -n 6 зупиняє виконання коду на 5 с.</li> </ul><p>Бібліотека команд bat-файлів величезна. На щастя, в Мережі є безліч сторінок, в яких вони перераховані, поряд зі змінними пакетного скрипта.</p><p><img src='https://i0.wp.com/syl.ru/misc/i/ai/324915/1862017.jpg' width="100%" loading=lazy loading=lazy></p><h2>Крок 3: запис та запуск bat-файлу</h2><p>Наступний скрипт набагато спростить щоденну онлайн-активність. Що робити, якщо є бажання миттєво відкрити всі улюблені новинні сайти? Оскільки скрипти використовують команди консолі, то можна створити сценарій, який відкриває кожну стрічку новин в одному вікні браузера.</p><p>Далі слід повторити процес створення bat-файлу, розпочавши з порожнього текстового документа. Для цього необхідно клацнути правою кнопкою миші на порожньому місці в будь-якій папці та вибрати пункт "Створити", а потім - "Текстовий документ". Після відкриття файлу потрібно ввести наступний скрипт, який запускає основні російськомовні засоби масової інформації, доступні в Інтернеті:</p><p>start "" http://fb.ru</p><p>start "" http://www.novayagazeta.ru</p><p>start "" http://echo.msk.ru</p><p>start "" http://www.kommersant.ru</p><p>start "" http://www.ng.ru</p><p>start "" http://meduza.io</p><p>start "" https://news.google.com/news/?ned=ru_ua&hl=ua</p><p>Цей скрипт містить команди start “”, які відкривають декілька вкладок. Можна замінити запропоновані посилання будь-якими іншими на вибір. Після введення скрипта слід зайти в меню редактора «Файл», а потім у «Зберегти як...» і записати документ з розширенням.bat, змінивши параметр «Тип файлу» на «Всі файли» (*. *).</p><p>Після збереження для запуску скрипта достатньо двічі натиснути на ньому. Веб-сторінки миттєво завантажуватимуться. За бажанням можна розмістити файл на своєму робочому столі. Це дозволить отримати миттєвий доступ до всіх улюблених сайтів.</p><h2>Організатор</h2><p>Якщо завантажувати по кілька файлів на день, то незабаром у папці «Завантаження» їх накопичаться сотні. Можна створити скрипт, який упорядкує їх на кшталт. Достатньо помістити.bat-файл із програмою в папку з неорганізованими даними та двічі клацнути для запуску:</p><p>rem Кожен файл у папці</p><p>для %%a in (".\*") do (</p><p>rem перевірити наявність розширення та неприналежність до цього скрипту</p><p>if "%%~xa" NEQ "" if "%%~dpxa" NEQ "%~dpx0" (</p><p>rem перевірити наявність папки для кожного розширення, і якщо її немає, створити</p><p>if not exist "%%~xa" mkdir "%%~xa"</p><p>rem перемістити файл до папки</p><p>move "%%a" "%%~dpa%%~xa\"</p><p>У результаті файли в директорії "Завантаження" сортуються за папками, назви яких відповідають їх розширенню. Це так просто. Цей пакетний скрипт працює з будь-яким типом даних, будь то документ, відео або аудіо. Навіть якщо ПК не підтримує їх, сценарій все одно створить папку з відповідною міткою. Якщо вже є каталог JPG або PNG, програма просто перемістить туди файли з даним розширенням.</p><p>Це проста демонстрація того, що здатні пакетні скрипти. Якщо якесь нескладне завдання необхідно виконувати знову і знову, чи це впорядкування файлів, відкриття декількох веб-сторінок, масове перейменування або створення копій важливих документів, пакетний сценарій допоможе виконати втомливу роботу за кілька кліків.</p> <p>Тепер настав час розглянути <b>bat команди</b>. В основному тут використовуються команди, що вводяться в cmd, але є й такі, які немає сенсу використовувати в командному рядку.</p><h2>Як отримати повний список bat команд</h2><p>Для опису всіх команд потрібно написати цілу низку статей, щоб Вас сильно не навантажувати обмежимося в рамках однієї статті і розглянемо компактну інформацію. Як відомо, команди bat файлу і cmdодні і ті ж, щоб отримати їх список або . Введіть команду довідки, яка англійською мовою пишеться як help, натисніть Enter. В результаті комп'ютер в інтерфейсі cmd пропише всі команди з коротким описом.</p><p>Ознайомившись із цим списком, Ви захочете дізнатися детальніше, що є певна bat команда. Наприклад, виберемо команду for, щоб її опис введемо help for чи for /? і клікнемо ентер. В результаті Ви отримаєте оперативну довідку по команді, вона об'ємна, тому потрібно натиснути кілька разів будь-яку клавішу, щоб ознайомитись з наступним описом. Таким чином, можна вивчити синтаксис тієї чи іншої команди.</p><h2>Команди bat файлу</h2><p>Зараз познайомимося з командами, які у пакетному файлі, з коротким описом. Вони не чутливі до регістру, проте ми їх перерахували у верхньому регістрі, щоб допомогти з ідентифікацією.</p><table><tbody><tr><td width="319">@ </td><td width="319">Усі виконувані bat команди виводяться на екран, щоб забрати зайве, перед командою ставиться «собака». Часто використовується із @echo off.</td> </tr><tr><td width="319">set</td><td width="319">Задає змінні. Наприклад, setper=c:\windows тут per присвоюємо шлях. У змінну можна записати громіздке значення та вказати її у сценарії, що зробить код компактнішим. Якщо її зміст зміниться, тоді доведеться змінювати скрізь значення, де передбачена ця змінна.</td> </tr><tr><td width="319">:: </td><td width="319">Один із двох методів коментування у bat файлі без виведення цього рядка на екран.</td> </tr><tr><td width="319">:LABEL</td><td width="319">При додаванні до слова двокрапки створюється мітка, яка дозволяє перейти до різних розділів батника. Мітка може мати іншу назву, LABEL це приклад.</td> </tr><tr><td width="319">CALL</td><td width="319">Bat команда викликає один пакетний файл в іншому. Усі параметри, описані в одному файлі, можуть бути передані один одному.</td> </tr><tr><td width="319">CHOICE</td><td width="319">Команда вибору.</td> </tr><tr><td width="319">CLS</td><td width="319">Очищає вміст командного інтерпретатора, що виведено на екран вище за CLS.</td> </tr><tr><td width="319">ECHO</td><td width="319">Виводить повідомлення на екран. Наприклад, «ECHO Привіт!» виведе "Привіт!". Якщо не використовувати @ECHO off на початку пакетного файлу, тоді Ви побачите шлях до bat файлу та два повідомлення, що є зайвим. Ви можете створити порожній рядок введіть ECHO. з крапкою в кінці.</td> </tr><tr><td width="319">EXIT</td><td width="319">Завершує поточний пакетний сценарій.</td> </tr><tr><td width="319">GOTO LABEL</td><td width="319">Використовується для переходу до певної мітки, в даному випадку LABEL і виконує сценарій після неї.</td> </tr><tr><td width="319">IF</td><td width="319">Як і в мовах програмування batcomanda ifуособлює виконання умови, залежно від якого сценарій піде тим чи іншим шляхом. З синтаксисом знайомтеся у довідці.</td> </tr><tr><td width="319">for</td><td width="319">Цикл, що використовується для організації виконання тих самих дій.</td> </tr><tr><td width="319">PAUSE</td><td width="319">Якщо необхідно ознайомитись з результатом сценарію, а він виконується, і вікно швидко закривається, тоді використовуйте PAUSE. Вона дозволить подивитися результат і завершити сценарій натискання будь-якої кнопки.</td> </tr><tr><td width="319">REM</td><td width="319">Другий спосіб коментування. На відміну від: друкується на екрані, якщо немає конструкції @ECHO off.</td> </tr><tr><td width="319">SHIFT</td><td width="319">Змінює положення пакетних параметрів у файлі bat.</td> </tr><tr><td width="319">START</td><td width="319">Запуск програми, вікна і т.д. Має багато атрибутів (дивіться довідку).</td> </tr></tbody></table><p>Це основа bat команд. Синтаксис деяких елементів складний для новачків і потребує певних знань. всі <i>команди bat файлу</i>, описані вище, розглянуті поверхово, щоб дізнатися їх призначення, а повний синтаксис Ви знайдете у довідці Windows.</p> <script type="text/javascript"> <!-- var _acic={dataProvider:10};(function(){var e=document.createElement("script");e.type="text/javascript";e.async=true;e.src="https://www.acint.net/aci.js";var t=document.getElementsByTagName("script")[0];t.parentNode.insertBefore(e,t)})() //--> </script><br> <br> <script>document.write("<img style='display:none;' src='//counter.yadro.ru/hit;artfast_after?t44.1;r"+ escape(document.referrer)+((typeof(screen)=="undefined")?"": ";s"+screen.width+"*"+screen.height+"*"+(screen.colorDepth? screen.colorDepth:screen.pixelDepth))+";u"+escape(document.URL)+";h"+escape(document.title.substring(0,150))+ ";"+Math.random()+ "border='0' width='1' height='1' loading=lazy loading=lazy>");</script> </div> </div> </article> <div id="post-ratings-1455-loading" class="post-ratings-loading"> <img src="https://realbazar.ru/wp-content/plugins/wp-postratings/images/loading.gif" width="16" height="16" class="post-ratings-image" / loading=lazy loading=lazy>Завантаження...</div> </main> </section> <div id="right-sidebar" itemtype="http://schema.org/WPSideBar" itemscope="itemscope" role="complementary" class="widget-area grid-25 tablet-grid-25 grid-parent sidebar"> <div class="inside-right-sidebar"> <aside id="wpp-3" class="widget inner-padding popular-posts"> <h4 class="widget-title">Популярне</h4> <ul class="wpp-list wpp-list-with-thumbnails"> <li> <a href="https://realbazar.ru/uk/series-galaxy-note/kakie-oshibki-hakera-pomogayut-ego-poimat-ili-kak-ne-spalitsya-kak/" title="Як упіймати хакера в контакті" target="_self"><img src="/uploads/3c7a71408d43c32d9aabaadd8998a22e.jpg" width="195" height="98" alt="Як упіймати хакера в контакті" class="wpp-thumbnail wpp_cached_thumb wpp_featured" / loading=lazy loading=lazy></a> <a href="https://realbazar.ru/uk/series-galaxy-note/kakie-oshibki-hakera-pomogayut-ego-poimat-ili-kak-ne-spalitsya-kak/" title="Як упіймати хакера в контакті" class="wpp-post-title" target="_self">Як упіймати хакера в контакті</a> <span class="wpp-excerpt">Людині, яка має свій плей...</span> <br><br> </li> <li> <a href="https://realbazar.ru/uk/series-galaxy-a/chto-nuzhno-znat-lyubomu-nachinayushchemu-programmistu-programmirovanie/" title="Програмування для себе: чому всім потрібно навчитися писати код Програми, які повинен знати програміст" target="_self"><img src="/uploads/0103564a5c6e90d12316a8c9c09145e4.jpg" width="195" height="98" alt="Програмування для себе: чому всім потрібно навчитися писати код Програми, які повинен знати програміст" class="wpp-thumbnail wpp_cached_thumb wpp_featured" / loading=lazy loading=lazy></a> <a href="https://realbazar.ru/uk/series-galaxy-a/chto-nuzhno-znat-lyubomu-nachinayushchemu-programmistu-programmirovanie/" title="Програмування для себе: чому всім потрібно навчитися писати код Програми, які повинен знати програміст" class="wpp-post-title" target="_self">Програмування для себе: чому всім потрібно навчитися писати код Програми, які повинен знати програміст</a> <span class="wpp-excerpt">Людині, яка має свій плей...</span> <br><br> </li> <li> <a href="https://realbazar.ru/uk/series-galaxy-note/luchshaya-hakerskaya-programma-dlya-zarabotka-hakerstvo-kak/" title="Хакерство як серйозний бізнес" target="_self"><img src="/uploads/7fa51b828d36e8835d1384c8c9dce129.jpg" width="195" height="98" alt="Хакерство як серйозний бізнес" class="wpp-thumbnail wpp_cached_thumb wpp_featured" / loading=lazy loading=lazy></a> <a href="https://realbazar.ru/uk/series-galaxy-note/luchshaya-hakerskaya-programma-dlya-zarabotka-hakerstvo-kak/" title="Хакерство як серйозний бізнес" class="wpp-post-title" target="_self">Хакерство як серйозний бізнес</a> <span class="wpp-excerpt">Людині, яка має свій плей...</span> <br><br> </li> <li> <a href="https://realbazar.ru/uk/series-galaxy-a/avto-originalnoe-zaryadnoe-ustroistvo-dlya-aipad-2/" title="Авто оригінальний зарядний пристрій айпад 2" target="_self"><img src="/uploads/2591693bc4bdbe642eafa8acbcad9dac.jpg" width="195" height="98" alt="Авто оригінальний зарядний пристрій айпад 2" class="wpp-thumbnail wpp_cached_thumb wpp_featured" / loading=lazy loading=lazy></a> <a href="https://realbazar.ru/uk/series-galaxy-a/avto-originalnoe-zaryadnoe-ustroistvo-dlya-aipad-2/" title="Авто оригінальний зарядний пристрій айпад 2" class="wpp-post-title" target="_self">Авто оригінальний зарядний пристрій айпад 2</a> <span class="wpp-excerpt">Людині, яка має свій плей...</span> <br><br> </li> <li> <a href="https://realbazar.ru/uk/updates-and-firmware/programma-po-rasshireniyu-zhestkih-diskov-servis-zh-stkogo-diska-obzor/" title="Сервіс жорсткого диска – огляд найкращих програм для роботи з розділами" target="_self"><img src="/uploads/7b185808e8dd2d444be859d62e810fb4.jpg" width="195" height="98" alt="Сервіс жорсткого диска – огляд найкращих програм для роботи з розділами" class="wpp-thumbnail wpp_cached_thumb wpp_featured" / loading=lazy loading=lazy></a> <a href="https://realbazar.ru/uk/updates-and-firmware/programma-po-rasshireniyu-zhestkih-diskov-servis-zh-stkogo-diska-obzor/" title="Сервіс жорсткого диска – огляд найкращих програм для роботи з розділами" class="wpp-post-title" target="_self">Сервіс жорсткого диска – огляд найкращих програм для роботи з розділами</a> <span class="wpp-excerpt">Людині, яка має свій плей...</span> <br><br> </li> </ul> </aside> <style>.rpwe-block ul{ list-style: none !important; margin-left: 0 !important; padding-left: 0 !important; } .rpwe-block li{ border-bottom: 1px solid #eee; margin-bottom: 10px; padding-bottom: 10px; list-style-type: none; } .rpwe-block a{ display: inline !important; text-decoration: none; } .rpwe-block h3{ background: none !important; clear: none; margin-bottom: 0 !important; margin-top: 0 !important; font-weight: 400; font-size: 16px !important; line-height: 1.5em; } .rpwe-thumb{ border: 2px solid #eee !important; box-shadow: none !important; margin: 2px 10px 2px 0; padding: 3px !important; } .rpwe-summary{ font-size: 14px; } .rpwe-time{ color: #bbb; font-size: 11px; } .rpwe-comment{ color: #bbb; font-size: 11px; padding-left: 5px; } .rpwe-alignleft{ display: inline; float: left; } .rpwe-alignright{ display: inline; float: right; } .rpwe-aligncenter{ display: block; margin-left: auto; margin-right: auto; } .rpwe-clearfix:before, .rpwe-clearfix:after{ content: ""; display: table !important; } .rpwe-clearfix:after{ clear: both; } .rpwe-clearfix{ zoom: 1; } </style><aside id="rpwe_widget-2" class="widget inner-padding rpwe_widget recent-posts-extended"><h4 class="widget-title">Свіжі записи</h4><div class="rpwe-block "><ul class="rpwe-ul"> <li> <a href="https://realbazar.ru/uk/different/winamp-skachat-besplatno-russkaya-versiya-winamp-skachat-besplatno-russkaya/" title="Winamp скачати безкоштовно російська версія Аудіо програвач винамп" target="_self"><img src="/uploads/9e614ea17321d8bd55344dac98a0945d.jpg" width="195" height="98" alt="Winamp скачати безкоштовно російська версія Аудіо програвач винамп" class="wpp-thumbnail wpp_cached_thumb wpp_featured" / loading=lazy loading=lazy></a> <a href="https://realbazar.ru/uk/different/winamp-skachat-besplatno-russkaya-versiya-winamp-skachat-besplatno-russkaya/" title="Winamp скачати безкоштовно російська версія Аудіо програвач винамп" class="wpp-post-title" target="_self">Winamp скачати безкоштовно російська версія Аудіо програвач винамп</a> <span class="wpp-excerpt">Людині, яка має свій плей...</span> <br><br> </li> <li> <a href="https://realbazar.ru/uk/tips/dopilivaem-linux-desktop-dlya-gika-dovodka-i3-i-dmenu-menedzher-parolei-pass-brauzer/" title="Доведення i3 та dmenu, менеджер паролів pass, браузер surf, блокувальник slock, перекладач по хоткею" target="_self"><img src="/uploads/74a4c6d9940e2b16ff119097f0a46ef7.jpg" width="195" height="98" alt="Доведення i3 та dmenu, менеджер паролів pass, браузер surf, блокувальник slock, перекладач по хоткею" class="wpp-thumbnail wpp_cached_thumb wpp_featured" / loading=lazy loading=lazy></a> <a href="https://realbazar.ru/uk/tips/dopilivaem-linux-desktop-dlya-gika-dovodka-i3-i-dmenu-menedzher-parolei-pass-brauzer/" title="Доведення i3 та dmenu, менеджер паролів pass, браузер surf, блокувальник slock, перекладач по хоткею" class="wpp-post-title" target="_self">Доведення i3 та dmenu, менеджер паролів pass, браузер surf, блокувальник slock, перекладач по хоткею</a> <span class="wpp-excerpt">Людині, яка має свій плей...</span> <br><br> </li> <li> <a href="https://realbazar.ru/uk/tips/izmenit-dbf-fail-chem-otkryt-dbf-skrinshoty-programmy-dbfnavigator/" title="Змінити файл dbf. Чим відкрити DBF? Скріншоти програми DBFNavigator" target="_self"><img src="/uploads/1f5368340e463022799e86b64c4a2713.jpg" width="195" height="98" alt="Змінити файл dbf. Чим відкрити DBF? Скріншоти програми DBFNavigator" class="wpp-thumbnail wpp_cached_thumb wpp_featured" / loading=lazy loading=lazy></a> <a href="https://realbazar.ru/uk/tips/izmenit-dbf-fail-chem-otkryt-dbf-skrinshoty-programmy-dbfnavigator/" title="Змінити файл dbf. Чим відкрити DBF? Скріншоти програми DBFNavigator" class="wpp-post-title" target="_self">Змінити файл dbf. Чим відкрити DBF? Скріншоти програми DBFNavigator</a> <span class="wpp-excerpt">Людині, яка має свій плей...</span> <br><br> </li> <li> <a href="https://realbazar.ru/uk/samsung-galaxy-s5/prilozheniya-v-kotoryh-mozhno-sdelat-tablicy-video-nachalo-raboty-s-excel-dlya/" title="Відео: початок роботи з Excel для планшетів Android" target="_self"><img src="/uploads/9660eb68bc77d55216977ef220c481b8.jpg" width="195" height="98" alt="Відео: початок роботи з Excel для планшетів Android" class="wpp-thumbnail wpp_cached_thumb wpp_featured" / loading=lazy loading=lazy></a> <a href="https://realbazar.ru/uk/samsung-galaxy-s5/prilozheniya-v-kotoryh-mozhno-sdelat-tablicy-video-nachalo-raboty-s-excel-dlya/" title="Відео: початок роботи з Excel для планшетів Android" class="wpp-post-title" target="_self">Відео: початок роботи з Excel для планшетів Android</a> <span class="wpp-excerpt">Людині, яка має свій плей...</span> <br><br> </li> <li> <a href="https://realbazar.ru/uk/tips/kak-s-pomoshchyu-klavish-kopirovat-i-vstavit-kak-kopirovat-tekst-s-pomoshchyu/" title="Як копіювати текст за допомогою клавіатури?" target="_self"><img src="/uploads/6d6cb724555947703bb461eb91bd2b4d.jpg" width="195" height="98" alt="Як копіювати текст за допомогою клавіатури?" class="wpp-thumbnail wpp_cached_thumb wpp_featured" / loading=lazy loading=lazy></a> <a href="https://realbazar.ru/uk/tips/kak-s-pomoshchyu-klavish-kopirovat-i-vstavit-kak-kopirovat-tekst-s-pomoshchyu/" title="Як копіювати текст за допомогою клавіатури?" class="wpp-post-title" target="_self">Як копіювати текст за допомогою клавіатури?</a> <span class="wpp-excerpt">Людині, яка має свій плей...</span> <br><br> </li> </ul></div></aside><aside id="custom_html-2" class="widget_text widget inner-padding widget_custom_html"> <div class="textwidget custom-html-widget"> </div> </aside> </div> </div> </div> </div> <div class="site-footer grid-container grid-parent "> <div id="footer-widgets" class="site footer-widgets"> <div class="footer-widgets-container grid-container grid-parent"> <div class="inside-footer-widgets"> <div class="footer-widget-1 grid-parent grid-33 tablet-grid-50 mobile-grid-100"> <aside id="categories-3" class="widget inner-padding widget_categories"> <h4 class="widget-title">Рубрики</h4> <ul> <li class="cat-item cat-item-99"><a href="https://realbazar.ru/uk/category/samsung-galaxy-s3/" title="Samsung Galaxy S3">Samsung Galaxy S3</a> </li> <li class="cat-item cat-item-99"><a href="https://realbazar.ru/uk/category/samsung-galaxy-s5/" title="Samsung Galaxy S5">Samsung Galaxy S5</a> </li> <li class="cat-item cat-item-99"><a href="https://realbazar.ru/uk/category/games-for-android/" title="Ігри для Андроїд">Ігри для Андроїд</a> </li> <li class="cat-item cat-item-99"><a href="https://realbazar.ru/uk/category/news/" title="Новини">Новини</a> </li> <li class="cat-item cat-item-99"><a href="https://realbazar.ru/uk/category/an-overview-of-the-devices/" title="Огляд пристроїв">Огляд пристроїв</a> </li> <li class="cat-item cat-item-99"><a href="https://realbazar.ru/uk/category/different/" title="Різні">Різні</a> </li> </ul> </aside> </div> <div class="footer-widget-2 grid-parent grid-33 tablet-grid-50 mobile-grid-100"> <aside id="text-9" class="widget inner-padding widget_text"> </aside> </div> <div class="footer-widget-3 grid-parent grid-33 tablet-grid-50 mobile-grid-100"> <aside id="pages-2" class="widget inner-padding widget_pages"> <h4 class="widget-title">Сторінки</h4> <ul> <li class="page_item page-item-422"><a href="https://realbazar.ru/uk/sitemap.xml">Карта сайту</a></li> <li class="page_item page-item-917"><a href="https://realbazar.ru/uk/feedback/">Зворотній зв'язок</a></li> </ul> </aside> <aside id="text-11" class="widget inner-padding widget_text"> <h4 class="widget-title">© 2022 realbazar.ru</h4> </aside> </div> </div> </div> </div> <footer class="site-info" itemtype="http://schema.org/WPFooter" itemscope="itemscope"> <div class="inside-site-info grid-container grid-parent"> <div class="copyright-bar"> <span class="copyright">2022</span> • </div> </div> </footer> </div> <a id="scroll-to-top" href="#" title="Scroll to Top">Top</a> <script type='text/javascript' src='https://realbazar.ru/wp-content/plugins/jquery-smooth-scroll/js/jss-script.min.js?ver=4.8.6'></script> <script type='text/javascript'> /* <![CDATA[ */ var tocplus = { "smooth_scroll": "1" }; /* ]]> */ </script> <script type='text/javascript' src='https://realbazar.ru/wp-content/plugins/table-of-contents-plus/front.min.js?ver=1509'></script> <script type='text/javascript' src='https://realbazar.ru/wp-content/plugins/wp-postratings/js/postratings-js.js?ver=1.84'></script> <script type='text/javascript' src='https://realbazar.ru/wp-content/themes/generatepress/js/navigation.min.js?ver=1.4'></script> <script type='text/javascript' src='https://realbazar.ru/wp-content/themes/generatepress/js/dropdown.min.js?ver=1.4'></script> <script type='text/javascript' src='https://realbazar.ru/wp-content/themes/generatepress/js/navigation-search.min.js?ver=1.4'></script> <!--[if lt IE 9]> <script type='text/javascript' src='https://realbazar.ru/wp-content/themes/generatepress/js/html5shiv.min.js?ver=1.4'></script> <![endif]--> <script type='text/javascript'> var q2w3_sidebar_options = new Array(); q2w3_sidebar_options[0] = { "sidebar": "sidebar-1", "margin_top": 10, "margin_bottom": 0, "stop_id": "footer-widgets", "screen_max_width": 0, "screen_max_height": 0, "width_inherit": false, "refresh_interval": 1500, "window_load_hook": false, "disable_mo_api": false, "widgets": ['custom_html-2'] }; </script> <script type='text/javascript' src='https://realbazar.ru/wp-content/plugins/q2w3-fixed-widget/js/q2w3-fixed-widget.min.js?ver=5.0.4'></script> <script type='text/javascript' src='/wp-includes/js/wp-embed.min.js?ver=4.8.6'></script> <script type="text/javascript"> <!-- var _acic={dataProvider:10};(function(){var e=document.createElement("script");e.type="text/javascript";e.async=true;e.src="https://www.acint.net/aci.js";var t=document.getElementsByTagName("script")[0];t.parentNode.insertBefore(e,t)})() //--> </script><br> <br> </body> </html>