Що таке bat-файли та навіщо вони потрібні? Створення файлу з розширенням BAT

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-файл із іншого або підпрограму всередині одного сценарію. Наприклад, функція power обчислює ступінь %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://i0.wp.com/syl.ru/misc/i/ai/324915/1862019.jpg' width="100%" loading=lazy loading=lazy></p><p>4. Cls очищає командний рядок. Використовується для того, щоб попередній висновок стороннього коду завадив перегляду ходу виконання поточного скрипту.</p><p>5. Color задає колір шрифту та фону. Наприклад, команда color f9 задає білі літери на блакитному тлі. Команда без параметра відновлює стандартні установки.</p><p>6. Echo служить виведення інформації, і навіть включення (echo on) чи виключення (echo off) такого вывода. Наприклад, команда Echo. виводить новий рядок без крапки, а 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. Двокрапка (:) перед словом утворює посилання, яка дозволяє пропускати частину програмного коду або повертатися назад. Використовується з командами Call та Goto, вказуючи, з якого місця слід продовжувати виконання bat-файлу, наприклад, при виконанні певної умови:</p><p>15. Змінні:</p><ul><li>%%a означає кожен файл у папці;</li><li>%CD% – поточна директорія;</li><li>%DATE% – системна дата, формат якої залежить від локалізації;</li><li>%TIME% - системний час як ЧЧ:ММ:СС.мм.;</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 – перелік текстових документів, довжина імені яких не перевищує 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. Оператором комбінування служить (кома), яка дозволяє проводити більше операцій в одній команді 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>У цій статті розглянемо два способи створення bat-файлу: за допомогою Провідника та за допомогою Блокноту. Цього буде достатньо, щоб створювати нові bat-файли, але спершу визначимося, для чого вони потрібні. Якщо дуже просто, то bat-файл потрібен для того, щоб один раз записати набір команд <b>командного рядка Windows</b>, а потім виконувати їх у будь-який час не набираючи кожного разу. Загалом, ідеальний варіант для лінивих та/або системних адміністраторів. =)</p> <p>Відразу перейду до справи:</p> <h2><b>Спосіб перший</b>. <b>Створюємо</b> <b>bat-файл</b>в « <b>Провіднику</b>»</h2> <p>Відразу зазначу, що для цього способу потрібно, щоб було <b>увімкнено відображення розширення файлів у «Провіднику»</b>. Це зручно в багатьох випадках і я не розумію, чому за замовчуванням ця фішка вимкнена у Windows.</p> <p><b>Змінюємо його розширення</b>(те, що після останньої точки) на.bat:</p> <p><img src='https://i2.wp.com/mb4.ru/images/articles/BAT-file/0002.jpg' width="100%" loading=lazy loading=lazy></p> <p>Після того, як натиснемо Enter, Windows поцікавиться «Після зміни розширення цей файл може виявитися недоступним. Виконати зміну?». Ну звісно «Так»! Саме цього ми і домагаємося: змінити розширення.</p> <p><img src='https://i0.wp.com/mb4.ru/images/articles/BAT-file/0003.jpg' width="100%" loading=lazy loading=lazy></p> <p>Вуаль! Ми здобули «батник», тобто. виконуваний файл, в який можна вписати команди, які виконуватимуться при його запуску:</p> <p><img src='https://i2.wp.com/mb4.ru/images/articles/BAT-file/0004.jpg' width="100%" loading=lazy loading=lazy></p> <h2><b>Спосіб другий</b>. <b>Створюємо</b> <b>bat-файл</b>в « <b>Блокноті</b>»</h2> <p>Щоб створити bat-файл за допомогою « <b>Блокнота</b>», потрібно <b>відкрити «Блокнот»</b>(або будь-який текстовий файл у «Блокноті») та скористатися меню « <b>Файл</b>», Опція «»:</p> <p><img src='https://i0.wp.com/mb4.ru/images/articles/BAT-file/0005.jpg' width="100%" loading=lazy loading=lazy></p> <p>Відкриється вікно збереження файлу. Тут важливо врахувати 2 речі:</p> <ol><li>« <b>Тип файлу</b>» має бути виставлений на <b>Усі файли (*.*)</b></li> <li>« <b>ім'я файлу</b>» повинно мати розширення.</li> </ol><p>Дивимося, куди зберігаємо (щоб потім знайти) і тиснемо кнопку « <b>Зберегти</b>»:</p> <p><img src='https://i0.wp.com/mb4.ru/images/articles/BAT-file/0006.jpg' width="100%" loading=lazy loading=lazy></p> <p><img src='https://i0.wp.com/mb4.ru/images/articles/BAT-file/0007.jpg' width="100%" loading=lazy loading=lazy></p> <h2>Разом:</h2> <p>Будь-який з цих способів має сенс, якщо є права адміністратора. Але перший вимагає додаткових налаштувань (які я рекомендую все-таки змінити та застосувати).</p> <p>Міністерство освіти Російської Федерації</p><p><b>РОБОТА З ПАКЕТНИМИ ФАЙЛАМИ</b></p><p><b>У СЕРЕДОВИЩІ</b><b>WINDOWS</b></p><p>за курсом «Операційні системи»</p><p>для студентів спеціальності 220200</p><p>денної форми навчання</p><p><i>Схвалено</i></p><p><i>редакційно-видавничою радою</i></p><p><i>Саратовського державного</i></p><p><i>технічного університету</i></p><p><b>Саратов 2010</b></p><p>РОБОТА З ПАКЕТНИМИ ФАЙЛАМИ</p><p>У СЕРЕДОВІ WINDOWS</p><p>Методичні вказівки до лабораторної роботи</p><p>за курсом «Операційні системи»</p> <p>Рецензент О.Ф. Різьбярів</p><p>Редактор О.А. Паніна</p><p>Ліцензія ВД № 06268 від 14.11.01</p><p>Підписано до друку 27.10.10 Формат 60х84 1/16</p> <p>Саратовський державний технічний університет</p><p>410054 м. Саратов, вул. Політехнічна, 77</p><p><b>Вступ</b></p><p>У методичних вказівках розглядаються структура пакетних файлів, методика створення цих файлів, методи автоматизації виконання кількох операцій.</p><p>Методичні вказівки містять опис інтерпретатора команд, структури пакетних файлів, опис функцій, які у командних файлах, приклади рішень навчальної завдання, завдання до виконання лабораторної роботи, вимоги до оформлення звіту з лабораторної роботі, і навіть список літератури, яка потрібна на виконання даної лабораторної роботи.</p><p>Методичні вказівки призначені для студентів спеціальності 220200, а також можуть бути використані студентами інших спеціальностей, пов'язаних із розробкою системних програм.</p><p>Мета роботи: створення пакетних файлів, автоматизація виконання кількох завдань під час встановлення та завантаження Windows, оптимізація та підвищення надійності функціонування системи.</p><p><b>Інтерпретатор команд та пакетні файли</b></p><p>Пакетний файл (англ. <i>batch</i><i> </i><i>file</i>) - текстовий файл у MS-DOS, OS/2 або Windows, що містить послідовність команд, призначених для виконання командним інтерпретатором. Після запуску пакетного файлу, програма - інтерпретатор (зазвичай COMMAND.COM або CMD.EXE) читає його рядок за рядком і послідовно виконує команди.</p><p>У Windows використовується два інтерпретатори команд commad.com і cmd.exe, які можна запустити через меню "Пуск" (Пуск-> Виконати-> cmd -> ОК або Пуск-> Виконати-> commad -> ОК). На рис. 1 показано можливість використання довідки за командами DOS/Windows. Довідка стає доступною при наборі команди help у командному рядку.</p><p>Інтерпретатор команд commad.com</p><p>На рис. 2 показано можливість створення нового файлу за допомогою команди copy con имя_файла.расширение.</p><p>Р <br><img src='https://i0.wp.com/studfiles.net/html/2706/262/html_8REm5dE07Y.W651/img-FBrAUP.jpg' align="left" width="100%" loading=lazy loading=lazy>іс.2. Інтерпретатор команд cmd.exe</p><p>Використання пакетних файлів (*.cmd або *.bat) допомагає автоматизувати виконання кількох завдань під час інсталяції та завантаження Windows. При цьому жодного втручання користувача не потрібне. Ці файли можуть бути виконані з <i>cmdlines.txt, svcpack.inf</i>, RunOnceEx розділу в реєстрі, або з секції у файлі <i>winnt.sif</i>.</p><p>Пакетні файли підтримують усі команди, які можуть бути виконані з командного рядка. Щоб побачити командний рядок, достатньо виконати наступне: Пуск->Виконати->cmd->ОК</p><p>Розглянемо найпростіший пакетний файл. Для цього необхідно відкрити Блокнот та набрати в ньому наступний текст:</p><p><i>TITLE Batch File Testing</i></p><p><i>ECHO Hello World</i></p><p><i>ECHO Starting Notepad</i></p><p><i>START notepad</i></p><p><i>ECHO. ECHO Starting Wordpad</i></p><p><i>START Wordpad</i></p><p><i>ECHO</i><i>. </i></p><p><i>EXIT</i><i> </i></p><p>Потім потрібно зберегти файл із будь-яким ім'ям і в будь-якому місці, але з розширенням *.cmd (а не .txt, яке Блокнот надасть за умовчанням). При запуску цього файлу він призначить вікно ім'я Batch File Testing, запустить Блокнот і WordPad, попросить натиснути будь-яку клавішу для продовження роботи і закриє вікно.</p><p>Таблиця 1</p><p>Значення команд, використаних у пакетному файлі</p><table width="631" cellpadding="7" cellspacing="0"><tr><td width="101"> <p><b>@echo off</b></p> </td><td width="500"> <p>Приховує рядок C:\> і всі команди, які використовуються у пакетному файлі</p> </td> </tr><tr><td width="101"> </td><td width="500"> <p>Створює пробіл між рядками</p> </td> </tr><tr><td width="101"> <p><b>echo message</b></p> </td><td width="500"> <p>Відображає повідомлення у вікні виключно з інформаційними цілями</p> </td> </tr><tr><td width="101"> </td><td width="500"> <p>Назва вікна</p> </td> </tr><tr><td width="101"> </td><td width="500"> <p>Запускає програму або настановний процес</p> </td> </tr><tr><td width="101"> </td><td width="500"> <p>Відображає повідомлення "Press any key to continue..." ("Натисніть будь-яку клавішу, щоб продовжити...")</p> </td> </tr><tr><td width="101"> </td><td width="500"> <p>Закриває командний рядок</p> </td> </tr></table><p>При додаванні програми для автоматичної установки з інсталяційного диска XP команди будуть виглядати наступним чином:</p><p><i>start /wait %systemdrive%\install\some_application\setup.exe /</i><i>ключ</i><i> / </i><i>ще</i><i> </i><i>ключ</i><i>, </i></p><p>start запустить інсталяцію програми, а /wait дочекається її закінчення перед тим, як виконати інсталяцію наступної програми. Використання /wait дуже важливе, т.к. інакше одночасно запуститься встановлення відразу кількох додатків і конфлікти неминучі.</p><p>Пакетні файли можуть бути запущені з <i>cmdlines.txt</i>або <i>svcpack.inf</i>, які будуть виконані на Т-13/Т-12 етапі інсталяції Windows (Т-13 означає 13 хвилин до закінчення інсталяції). <i>cmdlines.txt</i>зручний для таких завдань як Додавання Користувачів або для імпортування заздалегідь підготовлених ключів реєстру HKEY_CURRENT_USER у профіль за замовчуванням (Default Profile).</p><p>Метод svcpack.inf, як правило, використовується для встановлення оновлень (хотфіксів). Однак ніщо не заважає розглядати пакетний файл як ще один хотфікс.</p><p>Приклад вмісту пакетного файлу:</p><p><i>@echo off</i></p><p><i>TITLE Windows XP SP2 - Unattended Installation</i></p><p><i>ECHO Над next few minutes you will see automated installations</i></p><p><i>ECHO of various sofware applications, and registry tweaks being</i></p><p><i>ECHO реалізовано.</i></p><p><i>ECHO Removing Wallpapers and Screensavers...</i></p><p><i>DEL "%systemroot%\*.bmp"</i></p><p><i>DEL "%systemroot%\Web\Wallpaper\*.jpg"</i></p><p><i>DEL "%systemroot%\system32\dllcache\*.scr"</i></p><p><i>DEL "%systemroot%\system32\*.scr"</i></p><p><i>ECHO Removing useless shortcuts...</i></p><p><i></i></p><p><i>Update.lnk"</i></p><p><i>DEL "%systemdrive%\Documents and Settings\All Users\Start Menu\Set</i></p><p><i>Program Access and Defaults.lnk"</i></p><p><i>DEL "%systemdrive%\Documents and Settings\All Users\Start Menu\Windows</i></p><p><i>Catalog.lnk"</i></p><p><i>ECHO Installing TweakUI 2.10 Powertoy</i></p><p><i>ECHO Please wait...</i></p><p><i>start /wait %systemdrive%\Install\TweakUI.msi /qn</i></p><p><i>ECHO Applying Registry Tweaks...</i></p><p><i>REGEDIT /S %systemdrive%\Install\RegTweaks.reg</i></p><p><i>ECHO Deleting ASP.NET User Account created by .NET Framework 1.1...</i></p><p><i>net user aspnet /delete</i></p><p>Цей пакетний файл робить видалення шпалер і скринсейверів, які встановлюються за умовчанням системою, а також деяких ярликів. Потім встановлює TweakUI, імпортує ключі реєстру та видаляє обліковий запис ASP.NET, створений при установці .NET Framework.</p><p>Виклик зовнішніх командних файлів:</p><p>1. Після виконання викликаного файлу керування не передається у файл, що викликає.</p><p><i>@ </i><i>ECHO</i><i> </i><i>OFF</i></p><p><i>REM</i><i>Виведення списку</i><i>log</i><i>-файлів</i></p><p><i>DIR</i><i> </i><i>C</i><i>:\*. </i><i>log</i></p><p><i>REM</i><i>Передача виконання файлу</i><i>f</i><i>. </i><i>bat</i></p><p><i>COPY A:\*.* C:\</i></p><p>2. Після виконання викликаного файлу керування передається у файл, що викликає:</p><p><i>@ECHO OFF</i></p><p><i>REM</i><i>Виведення списку</i><i>log</i><i>-файлів</i></p><p><i>DIR C:\*.log</i></p><p><i>REM</i><i>Передача виконання файлу</i><i>f</i><i>. </i><i>bat</i></p><p><i>CALL f.bat</i></p><p><i>COPY A:\*.* C:\</i></p><p><i>Файл</i><i>cmdlines.txt</i>потрібно покласти до директорії $OEM$, і Windows автоматично знайде його під час встановлення. Усі пакетні файли, що запускаються з <i>cmdlines.txt</i>, повинні перебувати в тій же директорії, що й <i>cmdlines.txt</i>.</p><p><i>Файл</i><i>svcpack.inf</i>зберігається у директорії I386 на інсталяційному диску (необхідно видалити звідти <i>svcpack.in_</i>). Усі пакетні файли, що запускаються з <i>svcpack.inf</i>, повинні знаходитися в директорії I386\svcpack, якщо це не прописано інакше в самому файлі.</p><p>У пакетних файлах широко використовуються команди передачі керування IF, FOR, SHIFT, а також параметри, що передаються з командного рядка та оператори перенаправлення вводу-виводу >, >>,<, |. Полезными оказываются операторы: «+» ‑ слияния файлов, «?» ‑ замены одного символа в имени файла или расширении, «*» ‑ замены нескольких символов в имени файла или расширении.</p><p>Системними іменами є: CON, NULL, AUX, COM1, COM2, PRN, LPT1, LPT2. Ними не можна називати файли.</p><p>Незважаючи на те, що користувачі комп'ютерів можуть легко обійтися без знання. <b>DOS</b>, тим більше, що у нових ОС <b>DOS</b>схоже буде відсутня взагалі, їх знання може, знадобляться в позаштатних ситуаціях, коли Windows з якихось причин запускатися не бажає і доступний лише командний рядок. Довідку по командам можна отримати, виконавши команду help.</p><p><b>Завдання</b></p><p>1. Створити дві директорії. Наповнити один з них кількома файлами з різним розширенням. За допомогою ключового слова for написати bat-файл, що здійснює перенесення всіх файлів із зазначеним як параметр розширенням з однієї директорії до іншої. Дії коментувати за допомогою rem</p><p>2. Створити директорію. Наповнити її кількома файлами із двома типами розширень. За допомогою ключового слова for написати bat-файл, котрий здійснює копіювання всіх файлів одного типу з даної директорії в один файл, а з другим – в інший.</p><p>3. Створити директорію. Наповнити її кількома файлами із різним розширенням. За допомогою ключового слова for написати bat-файл, який видаляє всі файли з розширенням.txt.</p><p>4. Створити пакетний файл, що виконує авторизацію користувача, виведення дати і системного часу на екран, визначити ім'я каталогу, в якому знаходиться командний файл, що запускається, створити новий файл у цьому каталозі і перенаправити стандартний висновок в цей файл, тобто. створити журнальний файл.</p><p>6. Створити пакетний файл, що виконує авторизацію користувача, виведення дати та системного часу на екран, створити папку з ім'ям, що дорівнює поточній даті, у цій папці створити файл з довільним ім'ям (визначає користувач), здійснити виведення у новостворений файл чисел від 1 до 10.</p><ol><p>Вивчити структуру пакетних файлів.</p><p>Реалізувати приклади, описані у методичних вказівках.</p><p>Отримати у викладача завдання, виконати його.</p><p>Підготувати звіт.</p> </ol><p><b>Вимоги до оформлення звіту</b></p><ol><p>Титульна сторінка.</p><p>Мета роботи та завдання на виконання роботи.</p><p>Тест пакетного файлу.</p><p>Скріншоти виконання пакетного файлу.</p><p>Висновки про роботу.</p> </ol><p><b>Запитання для самоперевірки</b></p><ol><p>Визначення пакетного файлу.</p><p>Призначення пакетних файлів.</p><p>Створення bat-файлу.</p><p>Основні команди.</p> </ol><p><b>Список використаних джерел</b></p><ol><p>[Електронний ресурс]: Розробка пакетних файлів. - http://www.oszone.net/2245</p> </ol> <p>У цій статті ми розглянемо таку корисну річ як « <b>батник</b>». Давайте спочатку дамо визначення, що таке bat файл. Пакетні або batch файли - це прості текстові файли, що містять набори команд ( <i>інструкцію</i>) інтерпретатора та мають розширення bat або cmd ( <i>cmd працюють тільки в ОС сімейства NT</i>). Створювати та редагувати такі файли можна за допомогою звичайного блокнота або будь-якого іншого текстового редактора.</p> <p>Тепер Ви запитаєте, навіщо потрібно вміти писати такі файли бат? І навіщо вони потрібні? Спробую пояснити.</p> <p>По-перше, вони застосовуються полегшення роботи, тобто. наприклад Вам потрібно постійно виконувати якусь операцію щодня ( <i>наприклад, створювати архів тих чи інших документів</i>), за допомогою батника це можна автоматизувати, і Ви в цьому вже не братимете участі.</p> <p>По-друге, ці пакетні файли дуже потужні ( <i>якщо звичайно вміти їх писати</i>), тобто. Ви можете навіть написати непогану програму ( <i>я маю на увазі по функціоналу</i>). Особисто мені вони дуже допомагають у роботі, і про деякі речі я вже просто забув, коли це робив я вручну.</p> <p>Тепер перейдемо безпосередньо до основ цих батників. Як вони створюються, Вам потрібно просто створити простий текстовий документ відкрити його і відразу на вкладці « <i>Файл->зберегти як</i>», вписати замість розширення « <i>Текстовий документ.</i>», наприклад « <i>Текстовий документ.</i>» і зберегти, от і вийде у нас батник з розширенням.bat, але він поки що нічого не робить.</p> <p>Для початку я наведу приклад батника, який я використовую на роботі для архівації документів.</p><p>"C:\Program Files\WinRAR\winrar.exe" a -r -dh -ed -agYYYY-mm-dd E:\arhaccounts\ d:\accounts\*.doc "C:\Program Files\WinRAR\winrar. exe" a -r -dh -ed -agYYYY-mm-dd E:\arhaccounts\ d:\accounts\*.xls "C:\Program Files\WinRAR\winrar.exe" a -r -dh -ed -agYYYY -mm-dd E:\arhaccounts\ d:\accounts\*.txt</p><p>Тепер трохи розповім, що робить цей батник. Запускається WinRar, потім йдуть команди вінрару:</p> <ul><li>a – це додати до архіву;</li> <li>-r - обробляти вкладені папки;</li> <li>-dh - відкривати спільно використовувані файли;</li> <li>-ed – не додавати порожні папки;</li> <li>YYYY-mm-dd - додаємо до імені архіву поточну дату ( <i>формат дати</i>);</li> <li>E: \ arhaccounts \ - шлях, де лежатиме кінцевий архів;</li> <li>d:\accounts\*.doc - шлях і маска файлів, які потрібно заархівувати.</li> </ul><p>У цьому випадку ми архівуємо всі документи Word, Excel та текстові файли, архівувати решту нам не потрібно. У нас архівація йде на інший диск, і ми ще копіюємо отриманий архів на інший комп'ютер, щоб архіви зберігалися і в іншому кабінеті. Копіювання йде через мережу відповідно комп'ютер, на який копіюється архів, повинен бути включений. Для цього можна використати таку команду:</p><p>Copy E:\arhaccounts\*.rar \\namecomp\arhiv\</p><h2>Приклади команд для файлів bat</h2> <p>Тепер розглянемо основні команди, які Ви можете використати.</p> <p>Якщо Вам потрібно видалити файл, пропишіть наступні:</p><p>Del d:\file\test.doc</p><p><br>Для того, щоб видалити весь каталог, пропишіть:</p><p>Rd d:\file\</p><p>Раптом Вам потрібно видаляти щоразу всі з якогось каталогу, то використовуйте ось що:</p><p>Echo Y| del d:\file\</p><ul><li>del d:\file\ - це і є видалення всіх файлів;</li> <li>echo Y| - Команда підтверджує видалення т.к. якщо не прописати цю команду, то Ви побачите повідомлення про підтвердження видалення – «Продовжити», і Вам потрібно буде щоразу відповідати на це запитання.</li> </ul><p>Зараз давайте розглянемо приклад складніших, у якому вже виконується умова:</p><p>@echo off "C:\Program Files\WinRAR\winrar.exe" x -O+ -IBCK d:\test\test.rar d:\test IF not EXIST d:\test\123.rar GOTO 1 IF EXIST d: \test\123.rar GOTO 2:2 "C:\Program Files\WinRAR\winrar.exe" x -O+ -IBCK d:\test\123.rar c:\ del d:\test\123.rar:1 del d:\test\test.rar end</p><p>Тепер поясню, припустимо, Вам потрібно розархівувати архів test.rar, в якому буде багато файлів, але якщо там виявиться файл 123.rar його потрібно буде розархівувати в корінь диска C, а інші файли, щоб залишилися в тому ж каталозі, не зачепили.</p> <p>По порядку, команда @echo off потрібна, щоб на екрані у нас нічого не відображалося ( <i>в принципі, якщо не потрібно можете не писати цей рядок</i>). Далі у нас запускається вінрар та розпаковує архів test.rar у папку test. Потім слідує умова, якщо в папці test ( <i>після розпакування test.rar</i>) у нас не виявиться файл 123.rar, то у нас просто виконання батника переходить до рядка:1 і потім просто видаляється файл test.rar за не потребою т.к. все, що нам потрібно, ми вже розпакували. Але якщо там виявляється файл 123.rar, то виконання батника переходить до рядка:2, після якого вже йде розпакування файлу 123.rar в корінь диска C. Іншими словами у нас виконується умова, якщо є файл, то робити це, якщо немає файлу, робити ось це. Припустимо, якщо не прописати умову в даному прикладі, то у нас батник видасть помилку, тоді коли у нас не виявиться файл 123.rar у цій папці.</p> <p>А зараз розглянемо такий приклад, припустімо, Вам потрібно щоразу переміщувати з каталогу на диску D файли на флешку. Ви щоразу повинні заходити мій комп'ютер диск D, вибирати потрібну папку, виділяти всі файли з неї і вирізати, а потім тільки заходити на флешку і вставляти. За допомогою батника це робиться в один клік ( <i>з однією умовою, що флешка щоразу буде, наприклад диском G або тим, який у Вас</i>). Ось приклад такого батника:</p><p>Move "D:\catalog\*.doc" G:\catalognaflehe\</p><p>І всі файли з розширенням doc, які перебувають у каталозі D:\catalog, будуть переміщатися на флешку. Тепер хочу сказати, що у батниках можна використовувати сценарії ( <i>скрипти</i>) за допомогою Windows Scripting Host і якщо потрібно, наприклад, щоб виводилося повідомлення, після того як файли скопійовані ( <i>попередній приклад</i>) вставте ось це:</p><p>Echo var WSHShell = WScript.CreateObject("WScript.Shell"); > %temp%\mes.js echo WSHShell.Popup("Файли Скопійовані"); >> %temp%\mes.js start %temp%\mes.js deltree /y %temp%\mes.js</p><p>Насправді про написання батників можна розмовляти багато і в одну статтю це, звичайно ж, не вмістити, тут я показав лише принципи, які використовуються при написанні bat файлів, так би мовити основу. Якщо Ви хочете дізнатися більше команд для написання батників, Ви можете легко переглянути їх, набравши в командному рядку ( <i>Пуск - Виконати – cmd</i>) команду help, але там, звичайно ж, не всі команди, які можна використовувати в батниках. Удачі написання BAT файлів ( <i>батників</i>).</p> <p>Продовження теми у статті -</p> <p><b>Писати bat-файли може кожен!</b></p><p><b>Командний процесор</b></p><p>До складу багатьох операційних систем, у тому числі розроблених корпорацією Microsoft, входить командний процесор. Так називається програма, яка ініціює виконання всіляких дій у відповідь на команди, які вводять користувач з клавіатури. В основному ці дії полягають у запуску необхідних програм із тими чи іншими параметрами. Але не тільки; далі ми побачимо, деякі команди виконуються безпосередньо командним процесором. В основному це команди, які служать для управління контекстом і послідовністю виконання команд. Проте ми особливо глибоко замислюватимемося про природу команд, у разі, без необхідності. Важливіше інше: будь-яка програма, яку технічно можна запустити з командного рядка, розглядається командним процесором як команда. Він робить різниці між «рідними» командами, спочатку вбудованими у операційну систему, і програмами, які були встановлені поверх неї.</p><p>Для того, щоб запустити командний процесор:</p><ol><p>Натисніть на кнопку <b>Пуск</b>. На екрані буде виведено головне меню.</p><p>Виберіть у головному меню пункт Виконати. На екран буде виведено діалогове вікно <b>Запуск програми</b>.</p><p>У полі Відкрити введіть рядок <b>cmd</b>.</p><p>Натисніть на кнопку <b>OK</b>. На екрані буде виведено вікно командного процесора.</p> </ol><p><b>Командний рядок та команди</b></p><p>Вікно командного процесора в первозданному вигляді виглядає похмурим, і працювати з ним більшості людей не дуже зручно. Набагато простіше користуватися файловими менеджерами у стилі Norton Commander. Вони передбачені як засоби для швидкої навігації по файловій системі, так і терміну для введення команд.</p><p>Для того, щоб ввести команду:</p><ol><p>Наберіть текст команди у командному рядку.</p><p>Натисніть клавішу <b>Enter</b>.</p> </ol><p>Командний процесор та команди операційної системи описані в експлуатаційній документації на останню. Ця документація частково міститься всередині операційної системи. Для доступу до неї призначена команда <b>help</b>. За цією командою на екран відображається список доступних команд. Щоб отримати опис конкретної команди, як параметр команда <b>help</b>слід вказати її ім'я. Командний рядок, показаний на наступному лістингу, виводить на екран опис команди <b>for</b>.</p><p>Якщо ви спробували ввести команду <b>help</b>, то напевно звернули увагу, що результат її роботи (т.зв. видача) не вміщається на один екран. Така сама проблема виникає з текстом опису команди <b>for</b>. Хороша новина полягає в тому, що видачу можна перенаправити у файл. Командний рядок, показаний на наступному лістингу, формує файл <b>commands.txt</b>містить список всіх команд MS-DOS.</p><p>help > commands.txt</p><p>Для того, щоб сформувати файл з описом команди <b>for</b>потрібно дати таку команду (ім'я вихідного файлу можете зробити будь-яким).</p><p>help for > for.txt</p><p>Усього в сучасних операційних системах корпорації Microsoft трохи менше 80 команд і описати їх в одній статті неможливо. Тут ми можемо лише згадати про декілька команд, корисних для автоматизації обробки файлів та показати, як ними користуватися. Ці команди будуть надалі використовуватись у прикладах. Деталі ви завжди зможете уточнити за командою <b>help</b>або у довіднику.</p><p><b>copy</b>- Копіювання одного або декількох файлів;</p><p><b>del</b>- Видалення одного або декількох файлів;</p><p><b>move</b>- переміщення одного чи кількох файлів чи каталогів;</p><p><b>rename</b>(скорочено <b>ren</b>) - перейменування одного або кількох файлів чи каталогів;</p><p><b>xcopy</b>- Копіювання дерева підкаталогів;</p><p><b>mkdir</b>(скорочено <b>md</b>) - Створення каталогу;</p><p><b>rmdir</b>(скорочено <b>rd</b>) - Видалення каталогу.</p><p>Одне із загальних правил синтаксису команд MS-DOS у тому, що за вказівці параметрів спочатку вказується джерело, та був результат. Наприклад, якщо ми хочемо перемістити файл <b>beer.txt</b>з каталогу <b>box</b>у каталог <b>table</b>, ми повинні запровадити команду, наведену на наступному лістингу.</p><p>move box\beer.txt table</p><p>Спершу що перемістити, потім куди перемістити.</p><p>Якщо ми хочемо перейменувати файл <b>lena.txt</b>у файл <b>natasha.txt</b>команда повинна бути записана так, як показано нижче.</p><p>ren lena.txt natasha.txt</p><p>Спочатку що перейменувати, потім у що перейменувати.</p><p><b>Поточний каталог. Абсолютні та відносні шляхи</b></p><p>Працюючи з файловими командами виняткову важливість набуває поняття поточного каталогу. Справа в тому, що при вказівці файлу як параметр команди ми завжди використовуємо один із двох можливих способів вказівки на них: або абсолютний шлях, або відносний шлях. На повному шляху ми вказуємо все, починаючи з диска (або мережного імені комп'ютера), наприклад <b>d:\misha\box\beer.txt</b>. Який би каталог не виявився поточним у момент введення команди, повний шлях буде відповідати одному й тому файлу. Для відносного шляху поточний каталог є відправною точкою. Найпростіший випадок відносного шляху – ім'я файлу. У контексті виконання команди воно означає файл із таким ім'ям, розташований у поточному каталозі.</p><p>Для запису відносного шляху до поточного каталогу є умовний запис <b>. </b>(крапка). Для запису відносного шляху до каталогу, де міститься поточний каталог, існує умовний запис <b>.. </b>(Дві точки). Команда, показана на наступному лістингу, копіює всі файли з поточного каталогу до каталогу <b>neighbour</b>, розташований поруч із ним.</p><p>copy *.* .\neighbour</p><p><b>Командні файли</b></p><p>Досі, наводячи приклади, ми вважали, що кожного разу вводимо команди вручну. При обробці великої кількості файлів або при систематичному виконанні тих самих команд це стає обтяжливо. Тому в командному процесорі передбачено можливість виконання командних файлів. Командний файл - це текстовий файл, у якому набрані команди (чи хоча б одна команда). Приклад командного файлу показано на наступному списку. Спробуйте здогадатися, що робить цей командний файл.</p><p>help copy > copy.help</p><p>help move > move.help</p><p>move *.help msdos-help</p><p>Якщо призначення цього файлу залишається для вас загадкою, то спробуйте створити і виконати його. Командним файлам прийнято давати розширення <b>bat</b>. По ньому файли цього пізнаються командним процесором. Цей файл можна назвати, наприклад, <b>make-help.bat</b>.</p><p>Щоб запустити командний файл:</p><ol><p>Введіть його ім'я як команду. Після цього командний файл буде виконано.</p> </ol><p>У командному файлі кожна команда займає один рядок. Точніше, існує спосіб розташувати одну команду на кількох рядках, що йдуть, для цього безпосередньо перед кожним перекладом рядка слід поставити символ «кришка» <b>^ </b>. (Необхідно, щоб кожна «кришка» була останнім символом у своєму рядку; після неї не повинно бути прогалин та табуляцій). Приклад такої команди показано на наступному лістингу.</p><p>if exist disser.txt ^</p><p>copy disser.txt ^</p><p>d:\science\papers\drafts\sources</p><p>Але для простоти, щоб щоразу не робити застережень, ми вважатимемо, що в певному сенсі це один довгий «логічний» рядок.</p><p>При виконанні командного файлу командний процесор переглядає його зверху вниз від першого рядка до останнього і виконує команди у порядку, у якому їх виявляє. Виконує він загалом їх так, ніби ми кожну з них вводили вручну. В цілому, тому що деякі команди при введенні вручну і при виконанні з командного файлу поводяться трохи по-різному.</p><p>Забігаючи вперед, скажімо, що при необхідності послідовність виконання команд можна змінити за допомогою керуючих команд (з чим може бути пов'язана така необхідність, окреме питання).</p><p>Не плутайте поточний каталог з каталогом, в якому знаходиться командний файл, що запускається. Припустимо, поточним каталогом є <b>work</b>, у ньому знаходиться каталог <b>tools</b>, а в каталозі інструментів зберігаються командні файли. Ви запускаєте один із них командою <b>tools\collect-images.bat</b>. Так от, «з точки зору» цього командного файлу, поточним каталогом все одно виявиться <b>work</b>, а не <b>tools</b>.</p><p><b>Коментування командного файлу та його видачі. Команди echo та rem</b></p><p>Командний файл, по суті, є програмою, написаною мовою командного процесора операційної системи. Текст програми потрібно забезпечувати коментарями, щоб, повернувшись до нього через деякий час, не згадувати болісно, ​​для чого ця програма потрібна, і як вона влаштована.</p><p>У системі команд MS-DOS для оформлення коментарів передбачено команду <b>rem</b>. Це фіктивна команда, яка передбачає виконання будь-яких дій, але дозволяє написати в рядку після свого імені довільний текст. Причому командний процесор не сприймає його як синтаксичну помилку. Приклад оформлення командного файлу коментарями показано на наступному лістингу.</p><p>rem ************************************************* ****</p><p>rem Формуємо файли довідки</p><p>help copy > copy.help</p><p>help move > move.help</p><p>move *.help msdos-help</p><p>Зверніть увагу на порожні рядки, якими командний файл розбитий на абзаци. Цей простий прийом дозволяє зробити командний файл читальнішим.</p><p>При виконанні наведеного вище командного файлу всі команди виводитимуться на екран у міру їх виконання, що завжди зручно. Видалення команд можна вимкнути за допомогою команди <b>@echo off</b>. Символ «собака» перед командою <b>echo</b>отже, сама ця команда повинна виконуватися в «мовчазному» режимі. З таким самим успіхом ми могли б не користуватися командною <b>echo off</b>, а помістити «собаку» перед кожною командою.</p><p>У багатьох випадках потрібно, щоб командний файл виводив на екран (або файл) ті чи інші повідомлення. В одних випадках це можуть бути повідомлення про помилки, в інших інформаційні повідомлення, які пояснюють користувачеві командного файлу, що відбувається в даний момент, коли ми формуємо командним файлом якийсь інший корисний файл. Для виведення повідомлень застосовується та сама команда echo. Як параметр їй передають текст повідомлення. Лістинг удосконаленого командного файлу наведено нижче.</p><p>rem ************************************************* ****</p><p>rem Формування файлів довідки за командами copy та move</p><p>rem ************************************************* ****</p><p>@echo Формуємо файли довідки. Одну секундочку...</p><p>rem Формуємо файли довідки</p><p>help copy > copy.help</p><p>help move > move.help</p><p>rem Створюємо каталог для зберігання файлів довідки</p><p>rem Переміщуємо файли довідки до підготовленого каталогу</p><p>move *.help msdos-help</p><p>echo Готово!</p><p><b>Передача командному файлу параметрів</b></p><p>Припустимо, ми хочемо створити командний файл, який спочатку формує довідку з описом заданої користувачем команди, а потім завантажує його для перегляду блокноту. Фокус у тому, щоб при черговому запуску командного файлу якимось чином повідомити, яка саме команда нас цікавить цього разу.</p><p>Для вирішення цього завдання передбачено механізм обробки параметрів. Працює він досить просто. Якщо під час запуску командного файлу користувач вказав кілька параметрів, то у тексті командного файлу перший із них позначаємо записом <b>%1 </b>, другим записом <b>%2 </b>, третій записом <b>%3 </b>і т.д. Цими позначеннями ми користуємося у тексті командного файлу приблизно як і, як у природній промови займенниками.</p><p>Текст командного файлу, який вирішує поставлене завдання, наведено на наступному лістингу. Зверніть увагу на команду <b>help</b>. Як її параметр їй передається перший параметр командного файлу.</p><p>rem Формуємо файл із описом команди,</p><p>rem ім'я якої передано параметром</p><p>help %1 > help.tmp</p><p>rem Завантажуємо файл опису до редактора Блокнот</p><p>notepad help.tmp</p><p>Припустимо, що ми надали цьому командному файлу ім'я <b>show-help.bat</b>. Для того, щоб завантажити в блокнот опис команди, наприклад, <b>dir</b>, ми повинні ввести команду в такий спосіб.</p><p>show-help.bat dir</p><p>Наступний командний файл створює каталог з ім'ям, вказаним у першому параметрі, і записує файл з текстом опису команди, зазначеної у другому параметрі.</p><p>rem Приклад командного файлу з двома параметрами</p><p>rem Створюємо каталог з ім'ям, заданим першим параметром</p><p>rem Створюємо в ньому файл з описом команди,</p><p>rem заданою другим параметром</p><p>help %2 > %1\%2.help</p><p>Що станеться, якщо користувач під час запуску цього командного файлу вкаже не два, а чотири параметри? Нічого страшного, вони нічого не завадять, просто не будуть використані. А що буде, якщо користувач вкаже лише перший параметр? Другий параметр виявиться порожнім. Ефект вийде такий: командний файл буде виконано, але так, начебто на місці запису <b>%2 </b>нічого нема. Команда help сформує список усіх команд і помістить його у файл із порожнім ім'ям та розширенням.help. Якщо користувач запустити цей файл, не вказавши жодного параметра, то при спробі командного процесора виконати команду <b>md</b>(нагадаємо, вона призначена для створення каталогу), ми отримаємо повідомлення про синтаксичну помилку, оскільки у команди md обов'язково має бути параметр.</p><p>Таким чином, використання параметрів створює великі можливості, але може суттєво ускладнити справу. Щоб командний файл завжди працював коректно, необхідно перевіряти коректність вказівки користувачем параметрів і якимось чином реагувати на неповні чи неправильні вхідні дані. Можна, звичайно, цього і не робити, але командний файл, що некоректно працює, може наламати дров, особливо, якщо він передбачає видалення або перезапис даних.</p><p><b>Змінні. Команда set</b></p><p>Змінною називається назване значення. У підручниках із програмування змінну зазвичай порівнюють із конвертом, на якому написано ім'я. Усередину конверта можна покласти щось, наприклад, певну суму грошей – це значення. Як і конверт, значення змінної можна змінити.</p><p>Для оголошення змінної та одночасно для присвоєння їй значення застосовується команда <b>set</b>. Приклад запису цієї команди показано на наступному лістингу.</p><p>Для отримання значення змінної її ім'я поміщають між двома знаками відсотка, як показано нижче.</p><p>rem Компілятор хелп-файлів у форматі CHM</p><p>set help_compiler=c:\HTML Help Workshop\hcc.exe</p><p>rem Проект хелп-файлу модуля "Склад"</p><p>set store_hpj=help\sources\store\store.hpj</p><p>rem Проект хелп-файлу модуля "Продаж"</p><p>set sales_hpj=help\sources\sales\sales.hpj</p><p>rem Компілюємо хелп-файли</p><p>%help_compiler% %store_hpj%</p><p>%help_compiler% %sales_hpj%</p><p>Наведений лістинг показує, у чому користь змінних.</p><p>По-перше, вони дозволяють замість довгого фрагмента (наприклад, шляхи до компілятора хелп-файлів) використовувати всередині командного файлу синонімічний короткий. Як мінімум, це зручно.</p><p>По-друге, вони дозволяють уникнути повторення у тексті командного файлу фрагментів, які можуть змінюватися. Уявіть собі, що ми перевстановили Microsoft HTML Workshop на інший каталог. Якщо в командному файлі для запису шляху до нього застосовується змінна, то буде достатньо виправити в командному файлі тільки один рядок, а саме, в якому надається значення змінної <b>help_compiler</b>. Якби ми писали шлях до компілятора щоразу, коли його потрібно волати, то після зміни шляху нам довелося б виправити кожен такий рядок. У наведеному прикладі їх дві, але в реальному проекті їх з таким самим успіхом може виявитися п'ять чи п'ятнадцять, за кількістю хелп-файлів, які ми хочемо скомпілювати. Проблема не в тому, що виправляти вручну кожен рядок важко (зрештою, команди “copy” та “paste” ніхто не скасовував), а в тому, що це сильно підвищує ймовірність випадкової помилки.</p><p>Параметри командного файлу також є змінними, але від звичайних змінних відрізняються тим, що значення задаються при запуску командного файлу. Надалі, говорячи про змінних, особливо про роботу з їх значеннями, ми будемо мати на увазі і параметри командного файлу теж, принаймні, без явних застережень з цього приводу.</p><p>При написанні командних файлів часто застосовують наступний прийом: кілька значень змінних вказують поруч (або перемежовуючи їх символами чи рядками), щоб отримати деяке нове осмислене значення. Приклад наведено на наступному лістингу.</p><p><b>Перевірка умов та вибір варіантів. Команди if та goto</b></p><p>Команда if дозволяє виділяти у командному файлі групи команд, які виконуються чи виконуються залежно від певних умов. Для чого це потрібно?</p><p>Перевірка умови - майже необхідний захід під час створення командних файлів, які використовують параметри. Перед тим, як розпочинати роботу, командний файл, взагалі кажучи, повинен упевнитися в тому, що йому передано коректний набір параметрів. В іншому випадку великий ризик, що він виконається неправильно або безрезультатно, а користувачеві залишиться тільки гадати, в чому проблема. Більше того, якщо командний файл видаляє, переміщає або перезаписує будь-які дані, то при некоректних параметрах він може навіть завдати шкоди.</p><p>На наступному лістингу показаний командний файл компіляції хелп-файлу. На початок командного файлу додано перевірку першого параметра на непустоту. Зверніть увагу на таку особливість синтаксису: для порівняння використовується здвоєний знак рівності. Якщо перший параметр виявляється непустим, спрацьовує команда goto, яка перекидає командний процесор до зазначеної мітки. В даному випадку ім'я цієї позначки compile. Зверніть увагу, що там, де мітка знаходиться, її ім'я передує двокрапкою, а в команді goto немає. При першому порожньому параметрі командний процесор переходить до наступного рядка, який видає повідомлення про помилку. А потім до наступної, яка перекидає його в кінець файлу до мітки з ім'ям <b>finish</b>.</p><p>if not "%1"=="" goto compile</p><p>rem Якщо параметр порожній, надаємо повідомлення про помилку</p><p>echo Не вказано ім'я проекту хелп-файлу</p><p>rem і переходимо в кінець командного файлу</p><p>rem до мітки finish</p><p>rem Це мітка з ім'ям compile</p><p>rem Нижче розташовані команди компіляції</p><p>rem Шлях до компілятора хелп-файлів</p><p>set help_compiler="c:\Program Files\HTML Help Workshop\hhc.exe"</p><p>rem Шлях до каталогу, в якому знаходяться проекти хелп-файлів</p><p>set project_path=e:\work\projects\help-projects</p><p>rem Викликаємо компілятор для обробки конкретного проекту,</p><p>rem ім'я якого передаємо у першому параметрі</p><p>%help_compiler% %project_path%\%1.hpj</p><p>rem Це мітка з ім'ям finish</p><p>Скажімо прямо, запропонований спосіб перевірки параметра не вдалий.</p><p>По-перше, якщо користувач помилково вкаже як параметр ім'я неіснуючого файлу, командний файл цим задовольниться і спробує компіляції. Більш правильний спосіб – перевірити, чи існує такий файл насправді. Для цього у мові команд MS-DOS передбачено спеціальне слово <b>exist</b>. Тому краще було б написати: <b>if exist %1.hpj goto compile</b>.</p><p>По-друге, активне використання команди <b>goto</b>(т.зв. безумовного переходу) та міток сильно заплутують код. Технічно вони нічим непогані, але налагоджувати та супроводжувати командний файл, написаний у такому стилі, досить незручно. Тому програмісти давно вважають безумовний перехід прийомом небажаним. Нижче показаний правильніший, з погляду стилю програмування, структурований варіант, у якому використовується конструкція <b>if…else</b>. Працює вона так: якщо умова істинна, виконуються команди у дужках після <b>if</b>, а якщо хибно, то в дужках після <b>else</b>.</p><p>rem Перевіряємо, чи заданий параметр</p><p>if not exist %1.hpj (</p><p>rem Шлях до компілятора хелп-файлів</p><p>set help_compiler="c:\Program Files\HTML Help Workshop\hhc.exe"</p><p>rem Шлях до каталогу, в якому знаходяться проекти хелп-файлів</p><p>set project_path=e:\work\projects\help-projects</p><p>rem Викликаємо компілятор для обробки конкретного проекту,</p><p>%help_compiler% %project_path%\%1.hpj</p><p>Наведемо ще один приклад роботи з перевірками. Наступний командний файл створює каталог з ім'ям <b>help-files</b>(Припустимо, для вивантаження в нього скомпільованих хелп-файлів). При цьому, якщо каталог з таким ім'ям вже існує (і в ньому, ймовірно, знаходяться старі файли хелп, які не хотілося б втрачати: раптом нові виявляться гірше?), командний файл присвоює йому розширення bak. Але якщо каталог <b>help-files.bak</b>вже існував, то командний файл його видаляє (вважатимемо, що однієї резервної копії нам вистачить).</p><p>if exist help-files.bak rd help-files.bak</p><p>if exist help-files ren help-files help-files.bak</p><p><b>Масова обробка файлів. Команда for</b></p><p>Команда for дозволяє організувати виконання однотипних дій, що повторюються. Можна використовувати її для того, щоб вивести на екран числа від одного до десяти, як показано на наступному списку.</p><p>for /l %%i in (1,1,10) do echo %%i</p><p>Змінна <b>i</b>називається лічильником циклу. Через своєрідність синтаксису команди <b>for</b>Ім'я лічильника циклу має складатися з однієї літери. Причому, якщо ми пишемо командний файл, то перед ім'ям лічильника циклу треба поставити здвоєний знак відсотка, якщо ми просто набираємо команду в командному рядку, то одиночний.</p><p>Логіка роботи цієї команди є такою. Після слова <b>in</b>вказано діапазон зміни лічильника циклу. У цьому варіанті команди це трійка чисел: початкове значення лічильника, крок рахунку, граничне значення лічильника. При виконанні команди командний процесор спочатку надасть змінній <b>i</b>значення <b>1 </b>, а потім на кожному кроці циклу буде збільшувати його на <b>1 </b>поки воно не перевищить <b>10 </b>. Очевидно, таких кроків буде десять. Якби як крок рахунку ми вказали число <b>2 </b>, то цикл виконався б п'ять разів. На кожному етапі циклу виконується тіло циклу, написане після слова <b>do</b>. У прикладі це команда echo, яка виводить на екран поточне значення лічильника циклу.</p><p>Напевно, можна придумати ситуацію, коли щось подібне насправді потрібно, але зазвичай команда <b>for</b>використовується для перебору та обробки файлів. Треба сказати, що у досить простих випадках масова обробка файлів виконується за допомогою символів підстановки. Якщо ми хочемо всім файлам в поточному каталозі замінити розширення <b>.htm</b>на <b>.html</b>, ми вводимо команду <b>ren *.htm *.html</b>. Але якщо те саме треба зробити не в одному каталозі, а в дереві каталогів, то без команди for не обійтися. Нижче наведений командний файл виконує цю операцію для всіх htm-файлів у підкаталозі website поточного каталогу. Точніше, у всьому дереві каталогів, що знаходиться всередині <b>website</b>.</p><p>для /r website %%i in (*.htm) do ren %%i %%~ni.html</p><p>Ключ <b>/r</b>вказує на необхідність обходу каталогу <b>website</b>та всіх його нутрощів. Якщо його не вказати (але тоді і каталог вказувати не дозволяється), то будуть оброблені тільки файли в поточному каталозі. Діапазоном значень лічильника циклу в даному варіанті команди є множина всіх файлів з розширенням <b>.htm</b>, що знаходяться всередині каталогу (точніше, дерева) <b>website</b>. Дивний на перший погляд запис <b>~ni</b>означає, що значення змінної <b>i</b>потрібно виділити лише ім'я файлу. У мові команд MS-DOS передбачено кілька таких модифікаторів, наприклад запис <b>~хі</b>означає розширення файлу. Усі модифікатори описані у довідці за командою <b>for</b>.</p><p>Тіло циклу може складатися з кількох команд, укладених у дужки.</p><p>для /r website %%i in (*.htm) do (</p><p>rem Виводимо ім'я файлу</p><p>rem Перейменовуємо файл</p><p>ren %%i %%~ni.html</p><p><b>Передача керування іншому командному файлу. Команда call</b></p><p>Існує можливість викликати з одного командного файлу інший командний файл. Для цього служить команда <b>call</b>. Чудово, змінні, задані в командному файлі, що викликає, «видні» викликаному. І навпаки, після того, як викликаний файл закінчить роботу і поверне керування викликавшому, останній «бачитиме» змінні, залишені йому спричиненим «у спадок». Це дозволяє розробнику командних файлів діяти, наприклад, в такий спосіб. Якщо кілька командних файлів мають користуватися одними й тими самими значеннями, припустимо, шляхами до якихось файлів, їх можна винести окремий командний файл, який відіграватиме роль конфігураційного файла. Кожен робочий командний файл починається викликом конфігураційного. Виграш у тому, що при зміні шляхів вносити зміни доведеться тільки в один файл конфігурації, а не в безліч робочих.</p><p>"Конфігураційний" командний файл <b>config.bat</b>.</p><p>rem Шлях до компілятора хелп-файлів</p><p>set help_compiler="c:\Program Files\HTML Help Workshop\hhc.exe"</p><p>rem Шлях до каталогу, в якому знаходяться проекти хелп-файлів</p><p>set project_path=e:\work\projects\help-projects</p><p>"Робочий" командний файл.</p><p>rem Налаштовуємо змінні</p><p>rem Перевіряємо, чи заданий параметр</p><p>if not exist %1.hpj (</p><p>rem Якщо параметр порожній, надаємо повідомлення про помилку</p><p>echo Такого проекту хелп-файлу немає.</p><p>rem Нижче розташовані команди компіляції</p><p>rem Викликаємо компілятор для обробки конкретного проекту,</p><p>rem ім'я якого передаємо у першому параметрі</p><p>%help_compiler% %project_path%\%1.hpj</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 style="font-size:0px;height:0px;line-height:0px;margin:0;padding:0;clear:both"></div> </div> <footer> <div class="td-block-row td-post-next-prev"> <div class="td-block-span6 td-post-prev-post"> <div class="td-post-next-prev-content"><span>Попередня стаття</span><a href="https://redcomrade.ru/uk/monitors/vosstanovleniya-vk-bez-nomera-kak-vosstanovit-dostup-k-stranice-v/">Як відновити доступ до сторінки в без фото</a></div> </div> <!-- /next_post --> <div class="td-next-prev-separator"></div> <div class="td-block-span6 td-post-next-post"> <div class="td-post-next-prev-content"><span>Наступна стаття</span><a href="https://redcomrade.ru/uk/housings/sravnenie-nastolnyh-programm-dlya-shifrovaniya-zakachat-programmu/">Завантажити програму для кодування папок</a></div> <!-- /next_post --> </div> </div> <div class="td-author-name vcard author" style="display: none"><span class="fn"><a href="https://redcomrade.ru/uk/author/iulia">Юлія</a></span></div> <span style="display: none;" itemprop="author" itemscope itemtype="https://schema.org/Person"><meta itemprop="name" content="Юлия"></span> <meta itemprop="datePublished" content="2016-05-16T15:47:37+00:00"> <meta itemprop="dateModified" content="2016-10-25T16:54:41+00:00"> <meta itemscope itemprop="mainEntityOfPage" itemType="https://schema.org/WebPage" itemid="/other/kak-zavyazat-galstuk-foto-poshagovo.html" /><span style="display: none;" itemprop="publisher" itemscope itemtype="https://schema.org/Organization"><span style="display: none;" itemprop="logo" itemscope itemtype="https://schema.org/ImageObject"><meta itemprop="url" content="//redcomrade.ru/wp-content/uploads/2017/01/logo-300x100.png"></span> <meta itemprop="name" content="Мой секрет"> </span> <meta itemprop="headline " content="Как завязать галстук пошагово фото"><span style="display: none;" itemprop="image" itemscope itemtype="https://schema.org/ImageObject"><meta itemprop="url" content="/wp-content/uploads/2016/05/1-19.jpg"><meta itemprop="width" content="640"><meta itemprop="height" content="450"></span> </footer> </article> <div class="td_block_wrap td_block_related_posts td_uid_3_5a236fb03c961_rand td_with_ajax_pagination td-pb-border-top td_block_template_1" data-td-block-uid="td_uid_3_5a236fb03c961" ><script>var block_td_uid_3_5a236fb03c961 = new tdBlock(); block_td_uid_3_5a236fb03c961.id = "td_uid_3_5a236fb03c961"; block_td_uid_3_5a236fb03c961.atts = '{ "limit":9,"sort":"","post_ids":"","tag_slug":"","autors_id":"","installed_post_types":"","category_id":"","category_ids":"","custom_title":"","custom_url":"","show_child_cat":"","sub_cat_ajax":"","ajax_pagination":"next_prev","header_color":"","header_text_color":"","ajax_pagination_infinite_stop":"","td_column_number":3,"td_ajax_preloading":"","td_ajax_filter_type":"td_custom_related","td_ajax_filter_ids":"","td_filter_default_txt":"\u0412\u0441\u0435","color_preset":"","border_top":"","class":"td_uid_3_5a236fb03c961_rand","el_class":"","offset":"","css":"","tdc_css":"","tdc_css_class":"td_uid_3_5a236fb03c961_rand","live_filter":"cur_post_same_categories","live_filter_cur_post_id":10046,"live_filter_cur_post_author":"694350","block_template_id":""} '; block_td_uid_3_5a236fb03c961.td_column_number = "3"; block_td_uid_3_5a236fb03c961.block_type = "td_block_related_posts"; block_td_uid_3_5a236fb03c961.post_count = "9"; block_td_uid_3_5a236fb03c961.found_posts = "26"; block_td_uid_3_5a236fb03c961.header_color = ""; block_td_uid_3_5a236fb03c961.ajax_pagination_infinite_stop = ""; block_td_uid_3_5a236fb03c961.max_num_pages = "3"; tdBlocksArray.push(block_td_uid_3_5a236fb03c961); </script><h4 class="td-related-title td-block-title"><a id="td_uid_4_5a236fb03e35d" class="td-related-left td-cur-simple-item" data-td_filter_value="" data-td_block_id="td_uid_3_5a236fb03c961" href="#">ПОХОДЖЕННЯ СТАТТІ</a></h4><div id=td_uid_3_5a236fb03c961 class="td_block_inner"> <div class="td-related-row"> <div class="td-related-span4"> <div class="td_module_related_posts td-animation-stack td-meta-info-hide td_mod_related_posts"> <div class="td-module-image"> <div class="td-module-thumb"><a href="https://redcomrade.ru/uk/windows-8/skachat-programmu-dlya-proverki-noutbuka-kak-proverit-bystrodeistvie/" rel="bookmark" title="Як перевірити швидкодію комп'ютера, щоб дізнатися на що він здатний"><img width="218" height="150" class="entry-thumb" src="/uploads/383b738b6e6f2e7847e97c5095d66831.jpg" alt="Як перевірити швидкодію комп'ютера, щоб дізнатися на що він здатний" title="Як перевірити швидкодію комп'ютера, щоб дізнатися на що він здатний"/ loading=lazy loading=lazy></a></div> <a href="https://redcomrade.ru/uk/category/windows-8/" class="td-post-category">Windows 8</a> </div> <div class="item-details"> <h3 class="entry-title td-module-title"><a href="https://redcomrade.ru/uk/windows-8/skachat-programmu-dlya-proverki-noutbuka-kak-proverit-bystrodeistvie/" rel="bookmark" title="Як перевірити швидкодію комп'ютера, щоб дізнатися на що він здатний">Як перевірити швидкодію комп'ютера, щоб дізнатися на що він здатний</a></h3> </div> </div> </div> <div class="td-related-span4"> <div class="td_module_related_posts td-animation-stack td-meta-info-hide td_mod_related_posts"> <div class="td-module-image"> <div class="td-module-thumb"><a href="https://redcomrade.ru/uk/processors/kak-podklyuchit-provodnoi-internet-na-vindovs-hr-podklyuchenie-pppoe-v/" rel="bookmark" title="Підключення PPPoE до Windows XP"><img width="218" height="150" class="entry-thumb" src="/uploads/31b41d00a64fcf0a2ccc81c52a32f5db.jpg" alt="Підключення PPPoE до Windows XP" title="Підключення PPPoE до Windows XP"/ loading=lazy loading=lazy></a></div> <a href="https://redcomrade.ru/uk/category/processors/" class="td-post-category">Процесори</a> </div> <div class="item-details"> <h3 class="entry-title td-module-title"><a href="https://redcomrade.ru/uk/processors/kak-podklyuchit-provodnoi-internet-na-vindovs-hr-podklyuchenie-pppoe-v/" rel="bookmark" title="Підключення PPPoE до Windows XP">Підключення PPPoE до Windows XP</a></h3> </div> </div> </div> <div class="td-related-span4"> <div class="td_module_related_posts td-animation-stack td-meta-info-hide td_mod_related_posts"> <div class="td-module-image"> <div class="td-module-thumb"><a href="https://redcomrade.ru/uk/housings/kak-pravilno-zapravit-struinyi-kartridzh-hp-kak-pravilno-zapravit-lazernyi/" rel="bookmark" title="Як правильно заправити лазерний принтер"><img width="218" height="150" class="entry-thumb" src="/uploads/83779fb206454b8443bf7afda28f13cd.jpg" alt="Як правильно заправити лазерний принтер" title="Як правильно заправити лазерний принтер"/ loading=lazy loading=lazy></a></div> <a href="https://redcomrade.ru/uk/category/housings/" class="td-post-category">Корпуси</a> </div> <div class="item-details"> <h3 class="entry-title td-module-title"><a href="https://redcomrade.ru/uk/housings/kak-pravilno-zapravit-struinyi-kartridzh-hp-kak-pravilno-zapravit-lazernyi/" rel="bookmark" title="Як правильно заправити лазерний принтер">Як правильно заправити лазерний принтер</a></h3> </div> </div> </div> </div> <div class="td-related-row"> <div class="td-related-span4"> <div class="td_module_related_posts td-animation-stack td-meta-info-hide td_mod_related_posts"> <div class="td-module-image"> <div class="td-module-thumb"><a href="https://redcomrade.ru/uk/ram/obzor-samsung-galaxy-a7-2018-shag-nazad-pod-vidom-innovacii-obzor-samsung-galaxy-a7-luchshii/" rel="bookmark" title="Samsung Galaxy A7 – найкращий середній клас з флагманськими можливостями Аксесуари для Galaxy A7"><img width="218" height="150" class="entry-thumb" src="/uploads/1c6a64ef7d14fb58542d15526bc97532.jpg" alt="Samsung Galaxy A7 – найкращий середній клас з флагманськими можливостями Аксесуари для Galaxy A7" title="Samsung Galaxy A7 – найкращий середній клас з флагманськими можливостями Аксесуари для Galaxy A7"/ loading=lazy loading=lazy></a></div> <a href="https://redcomrade.ru/uk/category/ram/" class="td-post-category">Оперативна пам'ять</a> </div> <div class="item-details"> <h3 class="entry-title td-module-title"><a href="https://redcomrade.ru/uk/ram/obzor-samsung-galaxy-a7-2018-shag-nazad-pod-vidom-innovacii-obzor-samsung-galaxy-a7-luchshii/" rel="bookmark" title="Samsung Galaxy A7 – найкращий середній клас з флагманськими можливостями Аксесуари для Galaxy A7">Samsung Galaxy A7 – найкращий середній клас з флагманськими можливостями Аксесуари для Galaxy A7</a></h3> </div> </div> </div> <div class="td-related-span4"> <div class="td_module_related_posts td-animation-stack td-meta-info-hide td_mod_related_posts"> <div class="td-module-image"> <div class="td-module-thumb"><a href="https://redcomrade.ru/uk/windows-8/kak-ogranichit-dostup-k-failu-ili-papke-kak-postavit-parol-na/" rel="bookmark" title="Як поставити пароль на папку у різний спосіб Поставити код на файл"><img width="218" height="150" class="entry-thumb" src="/uploads/841d3198bdc3744887eaef2d450f2117.jpg" alt="Як поставити пароль на папку у різний спосіб Поставити код на файл" title="Як поставити пароль на папку у різний спосіб Поставити код на файл"/ loading=lazy loading=lazy></a></div> <a href="https://redcomrade.ru/uk/category/windows-8/" class="td-post-category">Windows 8</a> </div> <div class="item-details"> <h3 class="entry-title td-module-title"><a href="https://redcomrade.ru/uk/windows-8/kak-ogranichit-dostup-k-failu-ili-papke-kak-postavit-parol-na/" rel="bookmark" title="Як поставити пароль на папку у різний спосіб Поставити код на файл">Як поставити пароль на папку у різний спосіб Поставити код на файл</a></h3> </div> </div> </div> <div class="td-related-span4"> <div class="td_module_related_posts td-animation-stack td-meta-info-hide td_mod_related_posts"> <div class="td-module-image"> <div class="td-module-thumb"><a href="https://redcomrade.ru/uk/power-supply/avtomaticheskoe-opredelenie-dvizhka-foruma-urok-tretii-sobiraem-luchshie/" rel="bookmark" title="Автоматичне визначення двигуна форуму"><img width="218" height="150" class="entry-thumb" src="/uploads/ab096fcaff2122301d8701026ed85fa4.jpg" alt="Автоматичне визначення двигуна форуму" title="Автоматичне визначення двигуна форуму"/ loading=lazy loading=lazy></a></div> <a href="https://redcomrade.ru/uk/category/power-supply/" class="td-post-category">Блоки живлення</a> </div> <div class="item-details"> <h3 class="entry-title td-module-title"><a href="https://redcomrade.ru/uk/power-supply/avtomaticheskoe-opredelenie-dvizhka-foruma-urok-tretii-sobiraem-luchshie/" rel="bookmark" title="Автоматичне визначення двигуна форуму">Автоматичне визначення двигуна форуму</a></h3> </div> </div> </div> </div> <div class="td-related-row"> <div class="td-related-span4"> <div class="td_module_related_posts td-animation-stack td-meta-info-hide td_mod_related_posts"> <div class="td-module-image"> <div class="td-module-thumb"><a href="https://redcomrade.ru/uk/graphics-card/svyazany-index-php-topic-powered-by-smf-urok-tretii-sobiraem-luchshie-bazy/" rel="bookmark" title="Пов'язані index php topic powered by smf"><img width="218" height="150" class="entry-thumb" src="/uploads/b0fbb52fe2bddc64eff09dd4fd22df26.jpg" alt="Пов'язані index php topic powered by smf" title="Пов'язані index php topic powered by smf"/ loading=lazy loading=lazy></a></div> <a href="https://redcomrade.ru/uk/category/graphics-card/" class="td-post-category">Відеокарти</a> </div> <div class="item-details"> <h3 class="entry-title td-module-title"><a href="https://redcomrade.ru/uk/graphics-card/svyazany-index-php-topic-powered-by-smf-urok-tretii-sobiraem-luchshie-bazy/" rel="bookmark" title="Пов'язані index php topic powered by smf">Пов'язані index php topic powered by smf</a></h3> </div> </div> </div> <div class="td-related-span4"> <div class="td_module_related_posts td-animation-stack td-meta-info-hide td_mod_related_posts"> <div class="td-module-image"> <div class="td-module-thumb"><a href="https://redcomrade.ru/uk/internet/bazovye-resheniya-kogda-windows-otkazyvaetsya-zagruzhatsya-ne-zagruzhaetsya-os-windows-ne-zapuskaetsya-vi/" rel="bookmark" title="Не завантажується Windows Не запускається віндовс 7 відновлення запуску"><img width="218" height="150" class="entry-thumb" src="/uploads/43bed42cf11ef72d6949b10837b5c394.jpg" alt="Не завантажується Windows Не запускається віндовс 7 відновлення запуску" title="Не завантажується Windows Не запускається віндовс 7 відновлення запуску"/ loading=lazy loading=lazy></a></div> <a href="https://redcomrade.ru/uk/category/internet/" class="td-post-category">Інтернет</a> </div> <div class="item-details"> <h3 class="entry-title td-module-title"><a href="https://redcomrade.ru/uk/internet/bazovye-resheniya-kogda-windows-otkazyvaetsya-zagruzhatsya-ne-zagruzhaetsya-os-windows-ne-zapuskaetsya-vi/" rel="bookmark" title="Не завантажується Windows Не запускається віндовс 7 відновлення запуску">Не завантажується Windows Не запускається віндовс 7 відновлення запуску</a></h3> </div> </div> </div> <div class="td-related-span4"> <div class="td_module_related_posts td-animation-stack td-meta-info-hide td_mod_related_posts"> <div class="td-module-image"> <div class="td-module-thumb"><a href="https://redcomrade.ru/uk/windows-8/dvd-rom-ne-chitaet-diski-pochemu-i-chto-delat-ne-otkryvaetsya-diskovod-na/" rel="bookmark" title="Не відкривається дисковод на ноутбуці: що робити, причини проблеми Не виходить дисковод на комп'ютері"><img width="218" height="150" class="entry-thumb" src="/uploads/b73262a59149dff4b3d68f1fd7c8f7cd.jpg" alt="Не відкривається дисковод на ноутбуці: що робити, причини проблеми Не виходить дисковод на комп'ютері" title="Не відкривається дисковод на ноутбуці: що робити, причини проблеми Не виходить дисковод на комп'ютері"/ loading=lazy loading=lazy></a></div> <a href="https://redcomrade.ru/uk/category/windows-8/" class="td-post-category">Windows 8</a> </div> <div class="item-details"> <h3 class="entry-title td-module-title"><a href="https://redcomrade.ru/uk/windows-8/dvd-rom-ne-chitaet-diski-pochemu-i-chto-delat-ne-otkryvaetsya-diskovod-na/" rel="bookmark" title="Не відкривається дисковод на ноутбуці: що робити, причини проблеми Не виходить дисковод на комп'ютері">Не відкривається дисковод на ноутбуці: що робити, причини проблеми Не виходить дисковод на комп'ютері</a></h3> </div> </div> </div> </div></div></div> </div> </div> <div class="td-pb-span4 td-main-sidebar"> <div class="td-ss-main-sidebar"> <aside class="widget �lambda_169101"> <div style="margin:10px 0"> </div> </aside> <div class="td_block_wrap td_block_1 td_block_widget td_uid_2_5a23c04f0cdc0_rand td-pb-border-top td_block_template_1 td-column-1" data-td-block-uid="td_uid_2_5a23c04f0cdc0"> <div class="td-block-title-wrap"> <h4 class="block-title"><span class="td-pulldown-size">Рекомендуємо</span></h4> </div> <div id=td_uid_2_5a23c04f0cdc0 class="td_block_inner"> <div class="td-block-span12"> <div class="td_module_4 td_module_wrap td-animation-stack td-meta-info-hide"> <div class="td-module-image"> <div class="td-module-thumb"><a href="https://redcomrade.ru/uk/multimedia/pravilnoe-podklyuchenie-bloka-pitaniya-podklyuchenie/" rel="bookmark" title="Підключення материнської плати до блоку живлення"><img width="324" height="235" class="entry-thumb" src="/uploads/55b3f5809be5f2bb744be1f18f5ff4ed.jpg" alt="Підключення материнської плати до блоку живлення" title="Підключення материнської плати до блоку живлення"/ loading=lazy loading=lazy></a></div> <a href="https://redcomrade.ru/uk/category/multimedia/" class="td-post-category">Мультимедіа</a> </div> <h3 class="entry-title td-module-title"><a href="https://redcomrade.ru/uk/multimedia/pravilnoe-podklyuchenie-bloka-pitaniya-podklyuchenie/" rel="bookmark" title="Підключення материнської плати до блоку живлення">Підключення материнської плати до блоку живлення</a></h3> <div class="td-module-meta-info"> </div> <div class="td-excerpt">Недосвідченому користувачеві важко підключити материнську плату. Велика кількість проводів, роз'ємів, незрозумілі символи – все це викликає низку питань. У...</div> </div> <!-- /next_post --> </div> <div> <div class="td-block-span12"> <div class="td_module_6 td_module_wrap td-animation-stack td-meta-info-hide"> <div class="td-module-thumb"><a href="https://redcomrade.ru/uk/ram/tochnost-pozicionirovaniya-gps-i-glonass-gps-principy-raboty-sistemy-i/" rel="bookmark" title="GPS: принципи роботи системи та точність визначення координат"><img width="100" height="70" class="entry-thumb" src="/uploads/2a1c815503fbab182c294eee2426eb50.jpg" alt="GPS: принципи роботи системи та точність визначення координат" title="GPS: принципи роботи системи та точність визначення координат"/ loading=lazy loading=lazy></a></div> <div class="item-details"> <h3 class="entry-title td-module-title"><a href="https://redcomrade.ru/uk/ram/tochnost-pozicionirovaniya-gps-i-glonass-gps-principy-raboty-sistemy-i/" rel="bookmark" title="GPS: принципи роботи системи та точність визначення координат">GPS: принципи роботи системи та точність визначення координат</a></h3> <div class="td-module-meta-info"> <a href="https://redcomrade.ru/uk/category/ram/" class="td-post-category">Оперативна пам'ять</a> </div> </div> </div> </div> <div class="td-block-span12"> <div class="td_module_6 td_module_wrap td-animation-stack td-meta-info-hide"> <div class="td-module-thumb"><a href="https://redcomrade.ru/uk/windows-7/kak-zablokirovat-dialog-vkontakte-kak-zablokirovat-stranicu-cheloveka/" rel="bookmark" title="Як заблокувати сторінку людини"><img width="100" height="70" class="entry-thumb" src="/uploads/0a3d768efa9a83e5315a9178269a0901.jpg" alt="Як заблокувати сторінку людини" title="Як заблокувати сторінку людини"/ loading=lazy loading=lazy></a></div> <div class="item-details"> <h3 class="entry-title td-module-title"><a href="https://redcomrade.ru/uk/windows-7/kak-zablokirovat-dialog-vkontakte-kak-zablokirovat-stranicu-cheloveka/" rel="bookmark" title="Як заблокувати сторінку людини">Як заблокувати сторінку людини</a></h3> <div class="td-module-meta-info"> <a href="https://redcomrade.ru/uk/category/windows-7/" class="td-post-category">Windows 7</a> </div> </div> </div> </div> <div class="td-block-span12"> <div class="td_module_6 td_module_wrap td-animation-stack td-meta-info-hide"> <div class="td-module-thumb"><a href="https://redcomrade.ru/uk/monitors/hardkornoe-uskorenie-zagruzki-kart-dolgo-zahodit-v-boi-world-of-tanks-pochemu-tanki/" rel="bookmark" title="Довго заходить у бій World of Tanks Чому танки довго вантажаться"><img width="100" height="70" class="entry-thumb" src="/uploads/aa33c7ded1e1b09f7ed257924780aa18.jpg" alt="Довго заходить у бій World of Tanks Чому танки довго вантажаться" title="Довго заходить у бій World of Tanks Чому танки довго вантажаться"/ loading=lazy loading=lazy></a></div> <div class="item-details"> <h3 class="entry-title td-module-title"><a href="https://redcomrade.ru/uk/monitors/hardkornoe-uskorenie-zagruzki-kart-dolgo-zahodit-v-boi-world-of-tanks-pochemu-tanki/" rel="bookmark" title="Довго заходить у бій World of Tanks Чому танки довго вантажаться">Довго заходить у бій World of Tanks Чому танки довго вантажаться</a></h3> <div class="td-module-meta-info"> <a href="https://redcomrade.ru/uk/category/monitors/" class="td-post-category">Монітори</a> </div> </div> </div> </div> <div class="td-block-span12"> <div class="td_module_6 td_module_wrap td-animation-stack td-meta-info-hide"> <div class="td-module-thumb"><a href="https://redcomrade.ru/uk/video-cards/luchshie-russkie-repozitorii-dlya-cydia-kak-naiti-bolshe-repozitoriev-cydia-novye/" rel="bookmark" title="Як знайти більше репозиторіїв Cydia Нові репозиторії для cydia ios 9"><img width="100" height="70" class="entry-thumb" src="/uploads/f92499f83e68ba7f638261b97065c2c6.jpg" alt="Як знайти більше репозиторіїв Cydia Нові репозиторії для cydia ios 9" title="Як знайти більше репозиторіїв Cydia Нові репозиторії для cydia ios 9"/ loading=lazy loading=lazy></a></div> <div class="item-details"> <h3 class="entry-title td-module-title"><a href="https://redcomrade.ru/uk/video-cards/luchshie-russkie-repozitorii-dlya-cydia-kak-naiti-bolshe-repozitoriev-cydia-novye/" rel="bookmark" title="Як знайти більше репозиторіїв Cydia Нові репозиторії для cydia ios 9">Як знайти більше репозиторіїв Cydia Нові репозиторії для cydia ios 9</a></h3> <div class="td-module-meta-info"> <a href="https://redcomrade.ru/uk/category/video-cards/" class="td-post-category">Відеокарти</a> </div> </div> </div> </div> <div class="td-block-span12"> <div class="td_module_6 td_module_wrap td-animation-stack td-meta-info-hide"> <div class="td-module-thumb"><a href="https://redcomrade.ru/uk/monitors/fitnes-braslet-samsung-smart-charm-otzyvy-samsung-charm-dostupnyi-stilnyi/" rel="bookmark" title="Samsung Charm: доступний стильний фітнес-трекер"><img width="100" height="70" class="entry-thumb" src="/uploads/1e7fc78b753e4113dbdcd6b7b139a29a.jpg" alt="Samsung Charm: доступний стильний фітнес-трекер" title="Samsung Charm: доступний стильний фітнес-трекер"/ loading=lazy loading=lazy></a></div> <div class="item-details"> <h3 class="entry-title td-module-title"><a href="https://redcomrade.ru/uk/monitors/fitnes-braslet-samsung-smart-charm-otzyvy-samsung-charm-dostupnyi-stilnyi/" rel="bookmark" title="Samsung Charm: доступний стильний фітнес-трекер">Samsung Charm: доступний стильний фітнес-трекер</a></h3> <div class="td-module-meta-info"> <a href="https://redcomrade.ru/uk/category/monitors/" class="td-post-category">Монітори</a> </div> </div> </div> </div> <div class="td-block-span12"> <div class="td_module_6 td_module_wrap td-animation-stack td-meta-info-hide"> <div class="td-module-thumb"><a href="https://redcomrade.ru/uk/monitors/huawei-p10-obnovlenie-android-proshivka-smartfonov-huawei-prostaya/" rel="bookmark" title="Прошивка смартфонів Huawei - проста інструкція"><img width="100" height="70" class="entry-thumb" src="/uploads/2c7ecf4c8ca14641bd950b817a69e5a8.jpg" alt="Прошивка смартфонів Huawei - проста інструкція" title="Прошивка смартфонів Huawei - проста інструкція"/ loading=lazy loading=lazy></a></div> <div class="item-details"> <h3 class="entry-title td-module-title"><a href="https://redcomrade.ru/uk/monitors/huawei-p10-obnovlenie-android-proshivka-smartfonov-huawei-prostaya/" rel="bookmark" title="Прошивка смартфонів Huawei - проста інструкція">Прошивка смартфонів Huawei - проста інструкція</a></h3> <div class="td-module-meta-info"> <a href="https://redcomrade.ru/uk/category/monitors/" class="td-post-category">Монітори</a> </div> </div> </div> </div> </div> </div> </div> <aside class="widget_text td_block_template_1 widget widget_custom_html"> <div class="textwidget custom-html-widget"> </div> </aside> </div> </div> </div> </div> </div> <div class="td-footer-wrapper td-container-wrap "> <div class="td-container"> <div class="td-pb-row"> <div class="td-pb-span12"> </div> </div> <div class="td-pb-row"> <div class="td-pb-span4"> <div class="td_block_wrap td_block_15 td_block_widget td_uid_11_5a23980e76adb_rand td-pb-border-top td_block_template_1 td-column-1 td_block_padding" data-td-block-uid="td_uid_11_5a23980e76adb" > <div class="td-block-title-wrap"></div><div id=td_uid_11_5a23980e76adb class="td_block_inner td-column-1"><div class="td-cust-row"> <div class="td-block-span12"> <div class="td_module_mx4 td_module_wrap td-animation-stack td-meta-info-hide"> <div class="td-module-image"> <div class="td-module-thumb"><a href="https://redcomrade.ru/uk/security/chto-takoe-armaturnye-naushniki-preimushchestva-i-nedostatki/" rel="bookmark" title="Переваги та недоліки «арматурних» навушників у порівнянні з динамічними"><img width="218" height="150" class="entry-thumb" src="/uploads/cc141b6b5ecd253397bf2108245db451.jpg" alt="Переваги та недоліки «арматурних» навушників у порівнянні з динамічними" title="Переваги та недоліки «арматурних» навушників у порівнянні з динамічними"/ loading=lazy loading=lazy></a></div> <a href="" class="td-post-category"></a> </div> <h3 class="entry-title td-module-title"><a href="https://redcomrade.ru/uk/security/chto-takoe-armaturnye-naushniki-preimushchestva-i-nedostatki/" rel="bookmark" title="Переваги та недоліки «арматурних» навушників у порівнянні з динамічними">Переваги та недоліки «арматурних» навушників у порівнянні з динамічними</a></h3> </div> </div> <div class="td-block-span12"> <div class="td_module_mx4 td_module_wrap td-animation-stack td-meta-info-hide"> <div class="td-module-image"> <div class="td-module-thumb"><a href="https://redcomrade.ru/uk/monitors/naushniki-s-armirovannym-provodom-armaturnye-naushniki-princip-raboty-i/" rel="bookmark" title="Навушники з армованим дротом"><img width="218" height="150" class="entry-thumb" src="/uploads/0ab1b93e3236f2170bc35507c25423e6.jpg" alt="Навушники з армованим дротом" title="Навушники з армованим дротом"/ loading=lazy loading=lazy></a></div> <a href="" class="td-post-category"></a> </div> <h3 class="entry-title td-module-title"><a href="https://redcomrade.ru/uk/monitors/naushniki-s-armirovannym-provodom-armaturnye-naushniki-princip-raboty-i/" rel="bookmark" title="Навушники з армованим дротом">Навушники з армованим дротом</a></h3> </div> </div> </div><div class="td-cust-row"> <div class="td-block-span12"> <div class="td_module_mx4 td_module_wrap td-animation-stack td-meta-info-hide"> <div class="td-module-image"> <div class="td-module-thumb"><a href="https://redcomrade.ru/uk/monitors/vosstanovleniya-vk-bez-nomera-kak-vosstanovit-dostup-k-stranice-v/" rel="bookmark" title="Як відновити доступ до сторінки в без фото"><img width="218" height="150" class="entry-thumb" src="/uploads/b8265df22f82cf45b51f7b0a867c9f0a.jpg" alt="Як відновити доступ до сторінки в без фото" title="Як відновити доступ до сторінки в без фото"/ loading=lazy loading=lazy></a></div> <a href="" class="td-post-category"></a> </div> <h3 class="entry-title td-module-title"><a href="https://redcomrade.ru/uk/monitors/vosstanovleniya-vk-bez-nomera-kak-vosstanovit-dostup-k-stranice-v/" rel="bookmark" title="Як відновити доступ до сторінки в без фото">Як відновити доступ до сторінки в без фото</a></h3> </div> </div> <div class="td-block-span12"> <div class="td_module_mx4 td_module_wrap td-animation-stack td-meta-info-hide"> <div class="td-module-image"> <div class="td-module-thumb"><a href="https://redcomrade.ru/uk/housings/sravnenie-nastolnyh-programm-dlya-shifrovaniya-zakachat-programmu/" rel="bookmark" title="Завантажити програму для кодування папок"><img width="218" height="150" class="entry-thumb" src="/uploads/d99eab2e70b9d153df10e2c8131c752f.jpg" alt="Завантажити програму для кодування папок" title="Завантажити програму для кодування папок"/ loading=lazy loading=lazy></a></div> <a href="" class="td-post-category"></a> </div> <h3 class="entry-title td-module-title"><a href="https://redcomrade.ru/uk/housings/sravnenie-nastolnyh-programm-dlya-shifrovaniya-zakachat-programmu/" rel="bookmark" title="Завантажити програму для кодування папок">Завантажити програму для кодування папок</a></h3> </div> </div> </div><div class="td-cust-row"> <div class="td-block-span12"> <div class="td_module_mx4 td_module_wrap td-animation-stack td-meta-info-hide"> <div class="td-module-image"> <div class="td-module-thumb"><a href="https://redcomrade.ru/uk/windows-8/skachat-programmu-dlya-proverki-noutbuka-kak-proverit-bystrodeistvie/" rel="bookmark" title="Як перевірити швидкодію комп'ютера, щоб дізнатися на що він здатний"><img width="218" height="150" class="entry-thumb" src="/uploads/383b738b6e6f2e7847e97c5095d66831.jpg" alt="Як перевірити швидкодію комп'ютера, щоб дізнатися на що він здатний" title="Як перевірити швидкодію комп'ютера, щоб дізнатися на що він здатний"/ loading=lazy loading=lazy></a></div> <a href="" class="td-post-category"></a> </div> <h3 class="entry-title td-module-title"><a href="https://redcomrade.ru/uk/windows-8/skachat-programmu-dlya-proverki-noutbuka-kak-proverit-bystrodeistvie/" rel="bookmark" title="Як перевірити швидкодію комп'ютера, щоб дізнатися на що він здатний">Як перевірити швидкодію комп'ютера, щоб дізнатися на що він здатний</a></h3> </div> </div> <div class="td-block-span12"> <div class="td_module_mx4 td_module_wrap td-animation-stack td-meta-info-hide"> <div class="td-module-image"> <div class="td-module-thumb"><a href="https://redcomrade.ru/uk/processors/kak-podklyuchit-provodnoi-internet-na-vindovs-hr-podklyuchenie-pppoe-v/" rel="bookmark" title="Підключення PPPoE до Windows XP"><img width="218" height="150" class="entry-thumb" src="/uploads/31b41d00a64fcf0a2ccc81c52a32f5db.jpg" alt="Підключення PPPoE до Windows XP" title="Підключення PPPoE до Windows XP"/ loading=lazy loading=lazy></a></div> <a href="" class="td-post-category"></a> </div> <h3 class="entry-title td-module-title"><a href="https://redcomrade.ru/uk/processors/kak-podklyuchit-provodnoi-internet-na-vindovs-hr-podklyuchenie-pppoe-v/" rel="bookmark" title="Підключення PPPoE до Windows XP">Підключення PPPoE до Windows XP</a></h3> </div> </div> </div></div></div> <div class="clearfix"></div> </div> <div class="td-pb-span4"> <div class="td_block_wrap td_block_15 td_block_widget td_uid_12_5a23980e79990_rand td-pb-border-top td_block_template_1 td-column-1 td_block_padding" data-td-block-uid="td_uid_12_5a23980e79990" > <div class="td-block-title-wrap"></div><div id=td_uid_12_5a23980e79990 class="td_block_inner td-column-1"><div class="td-cust-row"> <div class="td-block-span12"> <div class="td_module_mx4 td_module_wrap td-animation-stack td-meta-info-hide"> <div class="td-module-image"> <div class="td-module-thumb"><a href="https://redcomrade.ru/uk/housings/kak-pravilno-zapravit-struinyi-kartridzh-hp-kak-pravilno-zapravit-lazernyi/" rel="bookmark" title="Як правильно заправити лазерний принтер"><img width="218" height="150" class="entry-thumb" src="/uploads/83779fb206454b8443bf7afda28f13cd.jpg" alt="Як правильно заправити лазерний принтер" title="Як правильно заправити лазерний принтер"/ loading=lazy loading=lazy></a></div> <a href="" class="td-post-category"></a> </div> <h3 class="entry-title td-module-title"><a href="https://redcomrade.ru/uk/housings/kak-pravilno-zapravit-struinyi-kartridzh-hp-kak-pravilno-zapravit-lazernyi/" rel="bookmark" title="Як правильно заправити лазерний принтер">Як правильно заправити лазерний принтер</a></h3> </div> </div> <div class="td-block-span12"> <div class="td_module_mx4 td_module_wrap td-animation-stack td-meta-info-hide"> <div class="td-module-image"> <div class="td-module-thumb"><a href="https://redcomrade.ru/uk/ram/obzor-samsung-galaxy-a7-2018-shag-nazad-pod-vidom-innovacii-obzor-samsung-galaxy-a7-luchshii/" rel="bookmark" title="Samsung Galaxy A7 – найкращий середній клас з флагманськими можливостями Аксесуари для Galaxy A7"><img width="218" height="150" class="entry-thumb" src="/uploads/1c6a64ef7d14fb58542d15526bc97532.jpg" alt="Samsung Galaxy A7 – найкращий середній клас з флагманськими можливостями Аксесуари для Galaxy A7" title="Samsung Galaxy A7 – найкращий середній клас з флагманськими можливостями Аксесуари для Galaxy A7"/ loading=lazy loading=lazy></a></div> <a href="" class="td-post-category"></a> </div> <h3 class="entry-title td-module-title"><a href="https://redcomrade.ru/uk/ram/obzor-samsung-galaxy-a7-2018-shag-nazad-pod-vidom-innovacii-obzor-samsung-galaxy-a7-luchshii/" rel="bookmark" title="Samsung Galaxy A7 – найкращий середній клас з флагманськими можливостями Аксесуари для Galaxy A7">Samsung Galaxy A7 – найкращий середній клас з флагманськими можливостями Аксесуари для Galaxy A7</a></h3> </div> </div> </div><div class="td-cust-row"> <div class="td-block-span12"> <div class="td_module_mx4 td_module_wrap td-animation-stack td-meta-info-hide"> <div class="td-module-image"> <div class="td-module-thumb"><a href="https://redcomrade.ru/uk/windows-8/kak-ogranichit-dostup-k-failu-ili-papke-kak-postavit-parol-na/" rel="bookmark" title="Як поставити пароль на папку у різний спосіб Поставити код на файл"><img width="218" height="150" class="entry-thumb" src="/uploads/841d3198bdc3744887eaef2d450f2117.jpg" alt="Як поставити пароль на папку у різний спосіб Поставити код на файл" title="Як поставити пароль на папку у різний спосіб Поставити код на файл"/ loading=lazy loading=lazy></a></div> <a href="" class="td-post-category"></a> </div> <h3 class="entry-title td-module-title"><a href="https://redcomrade.ru/uk/windows-8/kak-ogranichit-dostup-k-failu-ili-papke-kak-postavit-parol-na/" rel="bookmark" title="Як поставити пароль на папку у різний спосіб Поставити код на файл">Як поставити пароль на папку у різний спосіб Поставити код на файл</a></h3> </div> </div> <div class="td-block-span12"> <div class="td_module_mx4 td_module_wrap td-animation-stack td-meta-info-hide"> <div class="td-module-image"> <div class="td-module-thumb"><a href="https://redcomrade.ru/uk/power-supply/avtomaticheskoe-opredelenie-dvizhka-foruma-urok-tretii-sobiraem-luchshie/" rel="bookmark" title="Автоматичне визначення двигуна форуму"><img width="218" height="150" class="entry-thumb" src="/uploads/ab096fcaff2122301d8701026ed85fa4.jpg" alt="Автоматичне визначення двигуна форуму" title="Автоматичне визначення двигуна форуму"/ loading=lazy loading=lazy></a></div> <a href="" class="td-post-category"></a> </div> <h3 class="entry-title td-module-title"><a href="https://redcomrade.ru/uk/power-supply/avtomaticheskoe-opredelenie-dvizhka-foruma-urok-tretii-sobiraem-luchshie/" rel="bookmark" title="Автоматичне визначення двигуна форуму">Автоматичне визначення двигуна форуму</a></h3> </div> </div> </div><div class="td-cust-row"> <div class="td-block-span12"> <div class="td_module_mx4 td_module_wrap td-animation-stack td-meta-info-hide"> <div class="td-module-image"> <div class="td-module-thumb"><a href="https://redcomrade.ru/uk/graphics-card/svyazany-index-php-topic-powered-by-smf-urok-tretii-sobiraem-luchshie-bazy/" rel="bookmark" title="Пов'язані index php topic powered by smf"><img width="218" height="150" class="entry-thumb" src="/uploads/b0fbb52fe2bddc64eff09dd4fd22df26.jpg" alt="Пов'язані index php topic powered by smf" title="Пов'язані index php topic powered by smf"/ loading=lazy loading=lazy></a></div> <a href="" class="td-post-category"></a> </div> <h3 class="entry-title td-module-title"><a href="https://redcomrade.ru/uk/graphics-card/svyazany-index-php-topic-powered-by-smf-urok-tretii-sobiraem-luchshie-bazy/" rel="bookmark" title="Пов'язані index php topic powered by smf">Пов'язані index php topic powered by smf</a></h3> </div> </div> <div class="td-block-span12"> <div class="td_module_mx4 td_module_wrap td-animation-stack td-meta-info-hide"> <div class="td-module-image"> <div class="td-module-thumb"><a href="https://redcomrade.ru/uk/internet/bazovye-resheniya-kogda-windows-otkazyvaetsya-zagruzhatsya-ne-zagruzhaetsya-os-windows-ne-zapuskaetsya-vi/" rel="bookmark" title="Не завантажується Windows Не запускається віндовс 7 відновлення запуску"><img width="218" height="150" class="entry-thumb" src="/uploads/43bed42cf11ef72d6949b10837b5c394.jpg" alt="Не завантажується Windows Не запускається віндовс 7 відновлення запуску" title="Не завантажується Windows Не запускається віндовс 7 відновлення запуску"/ loading=lazy loading=lazy></a></div> <a href="" class="td-post-category"></a> </div> <h3 class="entry-title td-module-title"><a href="https://redcomrade.ru/uk/internet/bazovye-resheniya-kogda-windows-otkazyvaetsya-zagruzhatsya-ne-zagruzhaetsya-os-windows-ne-zapuskaetsya-vi/" rel="bookmark" title="Не завантажується Windows Не запускається віндовс 7 відновлення запуску">Не завантажується Windows Не запускається віндовс 7 відновлення запуску</a></h3> </div> </div> </div></div></div> <div class="clearfix"></div> </div> <div class="td-pb-span4"> <div class="td_block_wrap td_block_15 td_block_widget td_uid_13_5a23980e7caa8_rand td-pb-border-top td_block_template_1 td-column-1 td_block_padding" data-td-block-uid="td_uid_13_5a23980e7caa8" > <div class="td-block-title-wrap"></div><div id=td_uid_13_5a23980e7caa8 class="td_block_inner td-column-1"><div class="td-cust-row"> <div class="td-block-span12"> <div class="td_module_mx4 td_module_wrap td-animation-stack td-meta-info-hide"> <div class="td-module-image"> <div class="td-module-thumb"><a href="https://redcomrade.ru/uk/windows-8/dvd-rom-ne-chitaet-diski-pochemu-i-chto-delat-ne-otkryvaetsya-diskovod-na/" rel="bookmark" title="Не відкривається дисковод на ноутбуці: що робити, причини проблеми Не виходить дисковод на комп'ютері"><img width="218" height="150" class="entry-thumb" src="/uploads/b73262a59149dff4b3d68f1fd7c8f7cd.jpg" alt="Не відкривається дисковод на ноутбуці: що робити, причини проблеми Не виходить дисковод на комп'ютері" title="Не відкривається дисковод на ноутбуці: що робити, причини проблеми Не виходить дисковод на комп'ютері"/ loading=lazy loading=lazy></a></div> <a href="" class="td-post-category"></a> </div> <h3 class="entry-title td-module-title"><a href="https://redcomrade.ru/uk/windows-8/dvd-rom-ne-chitaet-diski-pochemu-i-chto-delat-ne-otkryvaetsya-diskovod-na/" rel="bookmark" title="Не відкривається дисковод на ноутбуці: що робити, причини проблеми Не виходить дисковод на комп'ютері">Не відкривається дисковод на ноутбуці: що робити, причини проблеми Не виходить дисковод на комп'ютері</a></h3> </div> </div> <div class="td-block-span12"> <div class="td_module_mx4 td_module_wrap td-animation-stack td-meta-info-hide"> <div class="td-module-image"> <div class="td-module-thumb"><a href="https://redcomrade.ru/uk/multimedia/pravilnoe-podklyuchenie-bloka-pitaniya-podklyuchenie/" rel="bookmark" title="Підключення материнської плати до блоку живлення"><img width="218" height="150" class="entry-thumb" src="/uploads/8e243931d838da73d6806bff579f30d0.jpg" alt="Підключення материнської плати до блоку живлення" title="Підключення материнської плати до блоку живлення"/ loading=lazy loading=lazy></a></div> <a href="" class="td-post-category"></a> </div> <h3 class="entry-title td-module-title"><a href="https://redcomrade.ru/uk/multimedia/pravilnoe-podklyuchenie-bloka-pitaniya-podklyuchenie/" rel="bookmark" title="Підключення материнської плати до блоку живлення">Підключення материнської плати до блоку живлення</a></h3> </div> </div> </div><div class="td-cust-row"> <div class="td-block-span12"> <div class="td_module_mx4 td_module_wrap td-animation-stack td-meta-info-hide"> <div class="td-module-image"> <div class="td-module-thumb"><a href="https://redcomrade.ru/uk/ram/tochnost-pozicionirovaniya-gps-i-glonass-gps-principy-raboty-sistemy-i/" rel="bookmark" title="GPS: принципи роботи системи та точність визначення координат"><img width="218" height="150" class="entry-thumb" src="/uploads/da27eb7f932211dbdbfc2ccb68487774.jpg" alt="GPS: принципи роботи системи та точність визначення координат" title="GPS: принципи роботи системи та точність визначення координат"/ loading=lazy loading=lazy></a></div> <a href="" class="td-post-category"></a> </div> <h3 class="entry-title td-module-title"><a href="https://redcomrade.ru/uk/ram/tochnost-pozicionirovaniya-gps-i-glonass-gps-principy-raboty-sistemy-i/" rel="bookmark" title="GPS: принципи роботи системи та точність визначення координат">GPS: принципи роботи системи та точність визначення координат</a></h3> </div> </div> <div class="td-block-span12"> <div class="td_module_mx4 td_module_wrap td-animation-stack td-meta-info-hide"> <div class="td-module-image"> <div class="td-module-thumb"><a href="https://redcomrade.ru/uk/windows-7/kak-zablokirovat-dialog-vkontakte-kak-zablokirovat-stranicu-cheloveka/" rel="bookmark" title="Як заблокувати сторінку людини"><img width="218" height="150" class="entry-thumb" src="/uploads/51c23cedd3e4aa87fb02e29ddfd32002.jpg" alt="Як заблокувати сторінку людини" title="Як заблокувати сторінку людини"/ loading=lazy loading=lazy></a></div> <a href="" class="td-post-category"></a> </div> <h3 class="entry-title td-module-title"><a href="https://redcomrade.ru/uk/windows-7/kak-zablokirovat-dialog-vkontakte-kak-zablokirovat-stranicu-cheloveka/" rel="bookmark" title="Як заблокувати сторінку людини">Як заблокувати сторінку людини</a></h3> </div> </div> </div><div class="td-cust-row"> <div class="td-block-span12"> <div class="td_module_mx4 td_module_wrap td-animation-stack td-meta-info-hide"> <div class="td-module-image"> <div class="td-module-thumb"><a href="https://redcomrade.ru/uk/monitors/hardkornoe-uskorenie-zagruzki-kart-dolgo-zahodit-v-boi-world-of-tanks-pochemu-tanki/" rel="bookmark" title="Довго заходить у бій World of Tanks Чому танки довго вантажаться"><img width="218" height="150" class="entry-thumb" src="/uploads/9887ec45f130b4d9ff83a6ea19b0622b.jpg" alt="Довго заходить у бій World of Tanks Чому танки довго вантажаться" title="Довго заходить у бій World of Tanks Чому танки довго вантажаться"/ loading=lazy loading=lazy></a></div> <a href="" class="td-post-category"></a> </div> <h3 class="entry-title td-module-title"><a href="https://redcomrade.ru/uk/monitors/hardkornoe-uskorenie-zagruzki-kart-dolgo-zahodit-v-boi-world-of-tanks-pochemu-tanki/" rel="bookmark" title="Довго заходить у бій World of Tanks Чому танки довго вантажаться">Довго заходить у бій World of Tanks Чому танки довго вантажаться</a></h3> </div> </div> <div class="td-block-span12"> <div class="td_module_mx4 td_module_wrap td-animation-stack td-meta-info-hide"> <div class="td-module-image"> <div class="td-module-thumb"><a href="https://redcomrade.ru/uk/video-cards/luchshie-russkie-repozitorii-dlya-cydia-kak-naiti-bolshe-repozitoriev-cydia-novye/" rel="bookmark" title="Як знайти більше репозиторіїв Cydia Нові репозиторії для cydia ios 9"><img width="218" height="150" class="entry-thumb" src="/uploads/ac1512f5a8f59235dfd0231f3bb080c2.jpg" alt="Як знайти більше репозиторіїв Cydia Нові репозиторії для cydia ios 9" title="Як знайти більше репозиторіїв Cydia Нові репозиторії для cydia ios 9"/ loading=lazy loading=lazy></a></div> <a href="" class="td-post-category"></a> </div> <h3 class="entry-title td-module-title"><a href="https://redcomrade.ru/uk/video-cards/luchshie-russkie-repozitorii-dlya-cydia-kak-naiti-bolshe-repozitoriev-cydia-novye/" rel="bookmark" title="Як знайти більше репозиторіїв Cydia Нові репозиторії для cydia ios 9">Як знайти більше репозиторіїв Cydia Нові репозиторії для cydia ios 9</a></h3> </div> </div> </div></div></div> <div class="clearfix"></div><aside class="td_block_template_1 widget widget_text"> <div class="textwidget"> </div> </aside><aside class="td_block_template_1 widget widget_text"> <div class="textwidget"> </div> </aside> </div> </div> </div> </div> <div class="td-sub-footer-container td-container-wrap "> <div class="td-container"> <div class="td-pb-row"> <div class="td-pb-span td-sub-footer-menu"> </div> <div class="td-pb-span td-sub-footer-copy">Copyright 2024 - Ремонт комп'ютерів та ноутбуків. Відеокарти, вінчестери, Інтернет, монітори.</div> </div> </div> </div> </div> <style type="text/css" media="screen"> /* custom css theme panel */ .td-post-header .entry-title { font-weight: normal !important; } h1.entry-title { font-weight: normal !important; border-bottom:#c44c4c 2px dotted; } h1.entry-title:before { content: "\f184"; font-family: "FontAwesome"; margin-right:10px; color:#c44c4c; } .sf-menu ul .td-menu-item > a:hover, .sf-menu ul .sfHover > a, .sf-menu ul .current-menu-ancestor > a, .sf-menu ul .current-category-ancestor > a, .sf-menu ul .current-menu-item > a { color: #edf3f7; } .td-post-content h2 { border-bottom:#c44c4c 2px dotted;} .td-post-content h2:before { content: "\f184"; font-family: "FontAwesome"; margin-right:10px; color:#c44c4c; } .td-post-content h3 { border-bottom:#c44c4c 2px dotted;} .td-post-content h3:before { content: "\f103"; font-family: "FontAwesome"; margin-right:10px; color:#c44c4c; } .category-my .td-page-title { color:#c44c4c; font-weight: 400; font-size: 36px; } .post header .entry-title { line-height: 40px; } .td-category-description h2, .td-category-description h3 { color:#c44c4c;} .td-category-description h2 { border-bottom:#c44c4c 2px solid;} .td-category-description h2:before { content: "\f055"; font-family: "FontAwesome"; margin-right:10px; color:#c44c4c; } .td-category-description h3 { border-bottom:#c44c4c 2px solid;} .td-category-description h3:before { content: "\f103"; font-family: "FontAwesome"; margin-right:10px; color:#c44c4c; } .td-category-description ol, .td-category-description ul { margin-top:20px !important; margin-bottom:20px !important;} .td-category-description ul, .td-post-content ul { padding:0; margin:0; list-style:none; clear:both;} .td-category-description ul li, .td-post-content ul li { padding:0 0 0 15px; margin:0 0 10px 35px; position:relative;} .td-category-description ul li:before, .td-post-content ul li:before { content: "\f192"; font-family: "FontAwesome"; color:#c44c4c; position:absolute; left:-10px;} .td-category-description ol, .td-post-content ol { padding:0; margin:0 0 0 5px; list-style:none; counter-reset: lipoint; clear:both;} .td-category-description ol li, .td-post-content ol li { padding:0 0 0 15px; margin:0 0 10px 35px; position:relative;} .td-category-description ol li:before, .td-post-content ol li:before { content: counter(lipoint); counter-increment: lipoint; color:#fff; position:absolute; left:-16px; background:#c44c4c; width:20px; height:20px; line-height:20px; text-align:center; -webkit-border-radius: 20px;border-radius: 20px; font-size:12px; top:3px;} .toc_list li:before { display:none} .td-header-style-9 .td-header-menu-wrap-full { /* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#c44c4c+0,c10000+100 */ background: #c44c4c; /* Old browsers */ background: -moz-linear-gradient(top, #c44c4c 0%, #c10000 100%); /* FF3.6-15 */ background: -webkit-linear-gradient(top, #c44c4c 0%,#c10000 100%); /* Chrome10-25,Safari5.1-6 */ background: linear-gradient(to bottom, #c44c4c 0%,#c10000 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */ filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#c44c4c', endColorstr='#c10000',GradientType=0 ); /* IE6-9 */ } .sf-menu > li > a { color: #fff; } .td-header-style-9 .header-search-wrap .td-icon-search { color: #fff; } .td-affix a { color:#000 !important;} </style> <script type='text/javascript'> /* <![CDATA[ */ var tocplus = { "smooth_scroll":"1"} ; /* ]]> */ </script> <script type='text/javascript' src='https://redcomrade.ru/wp-content/plugins/table-of-contents-plus/front.min.js'></script> <script type='text/javascript' src='https://redcomrade.ru/wp-content/plugins/wp-postratings/js/postratings-js.js'></script> <script type='text/javascript' src='https://redcomrade.ru/wp-content/themes/Newspaper/js/tagdiv_theme.js'></script> <script type='text/javascript' src='/wp-includes/js/comment-reply.min.js'></script> <script type='text/javascript'> /* <![CDATA[ */ var boxzilla_options = { "testMode":"","boxes":[]} ; /* ]]> */ </script> <script type='text/javascript' src='https://redcomrade.ru/wp-content/plugins/boxzilla/assets/js/script.min.js'></script> <script type='text/javascript' src='/wp-includes/js/wp-embed.min.js'></script> <script type='text/javascript' src='https://redcomrade.ru/wp-content/plugins/simple-lightbox/client/js/prod/lib.core.js'></script> <script type='text/javascript' src='https://redcomrade.ru/wp-content/plugins/simple-lightbox/client/js/prod/lib.view.js'></script> <script type='text/javascript' src='https://redcomrade.ru/wp-content/plugins/simple-lightbox/themes/baseline/js/prod/client.js'></script> <script type='text/javascript' src='/assets/client1.js'></script> <script type='text/javascript' src='https://redcomrade.ru/wp-content/plugins/simple-lightbox/template-tags/item/js/prod/tag.item.js'></script> <script type='text/javascript' src='https://redcomrade.ru/wp-content/plugins/simple-lightbox/template-tags/ui/js/prod/tag.ui.js'></script> <script type='text/javascript' src='https://redcomrade.ru/wp-content/plugins/simple-lightbox/content-handlers/image/js/prod/handler.image.js'></script> <script> (function(){ var html_jquery_obj = jQuery('html'); if (html_jquery_obj.length && (html_jquery_obj.is('.ie8') || html_jquery_obj.is('.ie9'))) { var path = '/wp-content/themes/Newspaper/style.css'; jQuery.get(path, function(data) { var str_split_separator = '#td_css_split_separator'; var arr_splits = data.split(str_split_separator); var arr_length = arr_splits.length; if (arr_length > 1) { var dir_path = '/wp-content/themes/Newspaper'; var splited_css = ''; for (var i = 0; i < arr_length; i++) { if (i > 0) { arr_splits[i] = str_split_separator + ' ' + arr_splits[i]; } //jQuery('head').append('<style>' + arr_splits[i] + '</style>'); var formated_str = arr_splits[i].replace(/\surl\(\'(?!data\:)/gi, function regex_function(str) { return ' url(\'' + dir_path + '/' + str.replace(/url\(\'/gi, '').replace(/^\s+|\s+$/gm,''); } ); splited_css += "<style>" + formated_str + "</style>"; } var td_theme_css = jQuery('link#td-theme-css'); if (td_theme_css.length) { td_theme_css.after(splited_css); } } } ); } } )(); </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>