Нажмите на команду или скрипт, чтобы скопировать его.
Файл с расширением .bat - это пакетный скрипт Windows, который выполняет
последовательность команд в командной строке (CMD). Подходит для автоматизации рутинных задач: запуск
программ, копирование файлов, очистка папок и т.д.
1. Откройте Блокнот.
2. Напишите команды.
3. Сохраните как "script.bat" - выберите "Все файлы" и кодировку ANSI или UTF-8.
4. Дважды кликните - скрипт запустится.
echo [текст] - выводит текст на экран.
echo off - отключает отображение команд (часто пишется как @echo off
в начале скрипта).
pause - приостанавливает выполнение до нажатия клавиши.
cls - очищает экран терминала.
rem [комментарий] - комментарий (игнорируется интерпретатором).
:: - альтернатива rem, работает быстрее при большом количестве
строк.
exit - завершает выполнение скрипта.
exit /b [код] - завершает выполнение подпрограммы или возвращает код
ошибки.
title [текст] - меняет заголовок окна CMD.
color XY - устанавливает цвет фона (X) и текста (Y), например:
color 0a - чёрный фон, светло-зелёный текст.
mode con lines=30 cols=80 - устанавливает размер окна консоли.
set имя=значение - создаёт переменную (без пробелов вокруг =).
echo %имя% - выводит значение переменной.
set /p name=Введите имя: - запрашивает ввод от пользователя.
set /a result=5+3 - выполняет арифметическую операцию (поддерживает +, -, *, /,
%).
set "путь=C:\Мои файлы" - безопасное присвоение с кавычками (избегает проблем с
пробелами).
set - показывает все текущие переменные окружения.
echo %USERNAME% - имя текущего пользователя.
echo %USERPROFILE% - путь к домашней папке (напр. C:\Users\Иван).
echo %CD% - текущая директория.
echo %DATE%, echo %TIME% - текущие дата и время.
setlocal ... endlocal - ограничивает область действия
переменных.
%~dp0 - путь к папке, где находится .bat файл (включая слеш в конце). Очень
полезно для портабельных скриптов.
%~n0 - имя самого .bat файла без расширения.
%1, %2, %* - аргументы, переданные в скрипт при запуске.
shift - сдвигает аргументы: %2 становится %1, %3 → %2 и т.д.
call :subroutine - вызов подпрограммы внутри скрипта.
goto :label - переход к метке (например, :start).
if exist файл.txt (echo Есть) else (echo Нет) - проверяет существование
файла.
if not exist папка\ (mkdir папка) - создаёт папку, если её нет.
if errorlevel 1 echo Ошибка! - проверяет код возврата предыдущей команды.
if "%1"=="" echo Не передан аргумент & exit /b 1 - проверка наличия
аргумента.
if defined VAR echo Переменная задана - проверяет, определена ли
переменная.
start "" "C:\Путь\программа.exe" - запускает программу в новом окне (пустые
кавычки - заглушка для заголовка).
start /wait setup.exe - запускает и ждёт завершения (полезно в установочных
скриптах).
tasklist | findstr "chrome" - проверяет, запущен ли процесс.
taskkill /im notepad.exe /f - принудительно завершает процесс по имени.
net start "Служба" - запускает службу Windows.
net stop "Служба" - останавливает службу.
@echo off
if "%1"=="" (
echo Использование: %0 [имя_файла]
exit /b 1
)
echo Обрабатываю файл: %1
for %%f in (*.log) do (
echo Обрабатываю: %%f
move "%%f" "Архив\"
)
echo [%DATE% %TIME%] Скрипт запущен >> log.txt
ping ya.ru >> log.txt
if errorlevel 1 echo ОШИБКА! >> log.txt
Пример:
if "%username%"=="Admin" (
echo Привет, администратор!
) else (
echo Привет, %username%!
)
Сравнение строк и чисел:
== - равно.
NEQ - не равно.
LSS - меньше.
GTR - больше.
Перебор файлов:
for %%f in (*.txt) do (
echo Обрабатываю: %%f
)
Цикл по числам (PowerShell лучше, но можно):
set i=0
:loop
if %i% LSS 5 (
echo Итерация: %i%
set /a i+=1
goto loop
)
start [программа] - запускает программу (например,
start notepad.exe).
call другой_скрипт.bat - вызывает другой .bat файл из текущего.
timeout /t 5 - пауза на 5 секунд.
xcopy /s /y C:\src D:\backup - копирует папку с подпапками.
del *.tmp /q - удаляет все .tmp файлы без подтверждения.
@echo off
echo Запуск резервного копирования...
xcopy "C:\Мои документы\*" "D:\Backup\" /s /e /y
echo Готово!
pause
@echo off
echo Очистка Temp...
del "%temp%\*" /q /s
echo Временные файлы удалены.
pause
echo on для отладки..ps1).Совет: Сохраняйте свои скрипты в папке C:\Scripts и добавьте
её в PATH, чтобы запускать из любого места.