Доброго дня!
На меня тут недавно ‘наехали’ (в хорошем смысле 😊,): ‘Дескать… говоришь вот создать BAT-файл*, а как это сделать-то? Учишь непонятно чему… лишь плохому…’.
* Для справки.
BAT-файл — текстовый файл со списком команд. При его запуске (открытии) — интерпретатор ОС выполняет их одну за одной. Это очень удобно для выполнения повторяющихся задач (например, если вам нужно запускать каждый раз игру с высоким приоритетом, или чистить определенную папку, и др.).
Собственно, в рамках сегодняшней статьи решил исправиться — кратко показать, как их создавать, и дать несколько примеров для решения самых популярных рутинных задач (довольно часто для этого BAT’ники и используют).
Думаю, что многие пользователи смогут слегка до-корректировать мои примеры и создадут для себя вполне рабочие BAT-файлы.
Итак…
- Создание BAT файлов: на примерах
- Основы! С чего начать (Вариант 1: проверка пинга)
- Вариант 2: запуск игры с высоким приоритетом + откл. авто-поиска Wi-Fi сетей
- Вариант 3: создание резервной копий файлов и точки восстановления в Windows
- Вариант 4: очистка временных папок
- 📌, Вариант 5: форматирование диска/флешки (с ручным выбором буквы, имени и файловой системы)
- Как запускать BAT-файл от имени администратора (и по расписанию)
- Если при выполнении BAT-файла появятся крякозабры вместо русского текста
Создание BAT файлов: на примерах
Основы! С чего начать (Вариант 1: проверка пинга)
Для начала покажу, как создать простейший BAT-файл для проверки пинга (для общего понимания процесса…).
ШАГ 1
Сначала необходимо создать самый обычный текстовый файл (такой же, как вы создаете в блокноте). Достаточно кликнуть правой кнопкой мыши по любому свободному месту на рабочем столе и выбрать в меню ‘Текстовый файл’ (Text Document). 👇,
ШАГ 2
Название файла у этого текстового документа может быть любым (но лучше использовать англ. символы).
Далее нужно открыть этот файл и вписать в него нужные команды. В своем примере я впишу только одну (если вы делаете это впервые — рекомендую повторить ее вместе со мной):
ping ya.ru -t
Разумеется, файл нужно сохранить. Кстати, вместо ya.ru можно указать google.ru или любой другой адрес (обычно, многие указывают свой игровой сервер, и запускают этот BAT’ник, когда в игре наблюдаются лаги).
ШАГ 3
Далее обратите внимание на расширение файла — у текстового файла оно ‘.TXT’. Кстати, если у вас не отображаются расширения — можете 📌, прочитать эту заметку или просто введите в командной строке две вот эти команды (последовательно):
reg add ‘HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced’ /v HideFileExt /t REG_DWORD /d 00000000 /f
taskkill /F /IM explorer.exe & start explorer
Нам нужно переименовать файл так, чтобы вместо ‘.TXT’ — было новое расширение ‘.BAT’!
ШАГ 4
Теперь достаточно кликнуть по ‘нашему’ файлу правой кнопкой мыши и запустить его от имени администратора — автоматически появится окно командной строки с проверкой пинга. Удобно? Вполне!
ШАГ 5
Чтобы отредактировать BAT-файл (и каждый раз не переименовывать его туда-сюда) — рекомендую вам установить блокнот Notepad++ (уже ранее добавлял его в подборку).
После установки Notepad++ — достаточно кликнуть ПКМ по BAT-файлу — и в появившемся меню выбрать опцию редактирования…
Вариант 2: запуск игры с высоким приоритетом + откл. авто-поиска Wi-Fi сетей
Этот скрипт рекомендуется попробовать пользователям ноутбуков, кто играет в сетевые игры.
Этот BAT-файл я создал на одном своем рабочем ноутбуке (он уже довольно ‘старый’, и нередко притормаживал при запуске игр). Однако, благодаря нескольким строкам кода — удается вполне комфортно играть.
Что за строки нужно добавить в BAT (выделены коричневым):
cmd.exe /c start /high /D ‘C:\Games\Counter-Strike 1.6\’ hl.exe -game cstrike -appid 10 -nojoy -noipx -noforcemparms -noforcemaccel netsh wlan set autoconfig enabled=no interface=’Wi-Fi’ pause netsh wlan set autoconfig enabled=yes interface=’Wi-Fi’ pause
Что он делает:
- запускает игру CS с высоким приоритетом (это позволяет снизить кол-во притормаживаний в играх). Разумеется, вместо строки ‘C:\Games\Counter-Strike 1.6\’ hl.exe — вы можете указать свою игру и ее расположение,
- отключает авто-поиск Wi-Fi сетей (это снижаем пинг и увел. скорость сети // правда не дает подключаться к другим Wi-Fi сетям). Кстати, вместо ‘Wi-Fi’ — нужно указать название своего адаптера (посмотрите так: нажмите Win+R, и используйте команду ncpa.cpl),
- далее идет пауза — скрипт будет ждать нажатия какой-нибудь клавиши (примечание: т.к. у нас будет запущена игра — это окно скроется из вида, и оно не будет нам мешать),
- когда через часик-другой игра будет закрыта, — вы увидите окно командной строки и нажмете какую-нибудь клавишу — будет снова включен авто-поиск Wi-Fi сетей. Удобно?
Вариант 3: создание резервной копий файлов и точки восстановления в Windows
Приведу наиболее простую и довольно надежную команду для создания резервных копий файлов и папок:
xcopy C:\Games D:\backup /f /i /y /s
Она копирует один каталог в другой (просто, без вопросов и расспросов). Если вам нужно скопировать 2 или 3 (или более) каталогов — просто создайте несколько подобных строк.
Расшифровка:
- C:\Games — тот каталог, который будем копировать (все подкаталоги и файлы из них тоже будут скопированы),
- D:\backup — тот каталог, куда будет всё скопировано,
- /f — выводит имена файлов (чтобы вы видели, что происходит),
- /i — создает новый каталог, если на диске ‘D:’ нет каталога ‘backup’ (см. строку выше),
- /y — перезаписывает старые файлы новыми,
- /s — копирует каталоги и подкаталоги, если в них есть какие-то файлы.
Для создания точки восстановления можно использовать следующий код:
wmic.exe /Namespace:\\root\default Path SystemRestore Call CreateRestorePoint ‘MyRestorePoint’, 100, 7 pause
После запуска подобного BAT-файла — точка восстановления будет создана в авто-режиме! Это очень удобно делать перед установкой нового софта, железа и пр. (чтобы проверить есть ли точка — нажмите Win+R, и используйте команду: rstrui). 👇,
Если точки нет (как в моем примере ниже) — прочитайте это!
Вариант 4: очистка временных папок
Здесь есть несколько вариантов ‘подхода’. Я приведу один из самых простейших, см. 4 строки ниже.
del /q /f /s %WINDIR%\Temp\*.* del /q /f /s %SYSTEMDRIVE%\Temp\*.* del /q /f /s %Tmp%\*.* del /q /f /s %Temp%\*.*
📌, Что это означает:
- BAT-файл с этими строками чистит временные папки в Windows (как правило, в них скапливается один ‘мусор’, которые занимает лишь место на диске),
- %WINDIR%\Temp\ — это папка ‘C:\Windows\Temp’,
- %SYSTEMDRIVE% — это системный диск ‘C:\’,
- *.* — маска для удаления всех файлов,
- /q /f /s — удаление всех каталогов и подкаталогов (без вопросов).
📌, Что можно еще добавить в наш скрипт:
- del /q /f /s %WINDIR%\Prefetch\*.* — эта строка очистит папку Prefetch (в ней сохраняется кэш от различного софта. При удалении той или иной программы — кэш в папке остается, и со временем — ее размер может разрастись),
- del /q /f /s %SYSTEMDRIVE%\*.log — удаление всех Log-файлов с системного диска (это файлы, в которых содержится история запуска программы, например. Во многих случаях они бесполезны). Большинство программ, кстати, ведут логи, со временем они разрастаются и могут отнять сотни МБ на диске,
- При помощи предыдущей команды можно удалить и другие файлы с системного диска (например, с расширением .tmp или .bak // достаточно поменять лишь концовку команды) — однако, будьте аккуратны, легко можно что-нибудь запороть!
📌, Вариант 5: форматирование диска/флешки (с ручным выбором буквы, имени и файловой системы)
Этот мини-скриптик может быть весьма полезный (например, если у вас ‘подвисает’ проводник при обращении к флешки // или не запускается управление дисками).
Собственно, здесь все делается аналогично. Чтобы не удлинять процесс — вот вам сразу же сам скриптик (ссылка на RAR-архив с BAT-файлом), который ‘набросал’ за 5 мин. (и еще 10 потратил на проверку ). Его текст (выделен коричневым):
@echo off wmic logicaldisk get name, VolumeName, Size, FileSystem, NumberOfBlocks, description set /p adisk=’Введите букву диска/флешки для форматирования: ‘ set /p named=’Введите имя для диска/флешки (любое, например, my_disk): ‘ set /p number=’Нажмите l — для формат. в NTFS, 2 — в FAT32, 3 — для в ExFAT. Ваше число: ‘
if ‘%number%’ == ‘1’ ( format %adisk%: /FS:NTFS /Q /V:%named% pause exit /b )
if ‘%number%’ == ‘2’ ( format %adisk%: /FS:FAT32 /Q /V:%named% pause exit /b )
if ‘%number%’ == ‘3’ ( format %adisk%: /FS:ExFAT /Q /V:%named% pause exit /b )
Он довольно простой, но будьте с ним аккуратны! Если укажите не ту букву накопителя — можно легко отформатировать не тот диск…
Как он работает (запускать под именем администратора):
- сначала он показывает информацию по всем подключенным дискам (и их буквы),
- далее запрашивает букву диска/флешки, которую нужно отформатировать (в своем примере я ввел G и нажал Enter),
- затем нужно ввести название диска — может быть любым (главное, чтобы название было коротким и лучше использовать только латиницу!). Я использовал my_flash,
- после выбрать файловую систему (их тут три), и нажать Enter,
- если все введено корректно — диск/флешка будет отформатирована!
Как запускать BAT-файл от имени администратора (и по расписанию)
Способ 1
Самый простой вариант — нажать ПКМ по BAT-файлу и в контекстном меню выбрать ‘Запуск от имени администратора’. См. скрин ниже. 👇,
Способ 2
Можно нажать ПКМ по BAT-файлу и создать для него ярлык на рабочем столе. См. скрин ниже. 👇,
Далее в свойства ярлыка поставить галочку, что задача должна выполняться от имени администратора. Таким образом при каждом двойном клике по этому ярлыку — BAT’ник будет запускаться от админа.
Способ 3
В планировщике заданий Windows (чтобы его открыть нажмите Win+R, и используйте команду control schedtasks) можно настроить запуск BAT-файла в нужное время и с нужными правами (т.е. автоматически). Это может быть весьма удобно, и серьезно упростить работу со множеством задач (очистка Windows от мусора, создание бэкапов и пр.) — точно никогда не забудете!
Более подробно о том, как создать задачу в планировщике заданий — я 📌, рассказывал в этой заметке.
Если при выполнении BAT-файла появятся крякозабры вместо русского текста
Чаще всего это бывает с теми BAT, в которых есть русские символы и выставлена ‘неправильная’ кодировка (например, они часто встречаются в пути к папке: ‘C:\Games\Лучшие игры’). Кстати, в этом случае BAT-файл работать не будет: после попытки выполнения операции с ‘крякозабрами’ — появится ошибка и окно CMD будет закрыто…
Что можно сделать:
- первое: попробуйте в начало BAT-файла добавить код @chcp 1251 (и сохраните файл!),
- второе: установите блокнот Notepad++ и задействуйте OEM-866 кодировку в меню: ‘Кодировки/Кодировки/Кириллица/OEM-866’ (предварительно, для бэкапа, скопируйте весь текст текущего документа в другой файл).
Доп. в помощь!
Вместо текста иероглифы, квадратики и крякозабры (в браузере, Word, тексте, окне Windows).