Форум программистов, компьютерный форум, киберфорум
Batch (CMD/BAT)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.69/3152: Рейтинг темы: голосов - 3152, средняя оценка - 4.69
Эксперт WindowsАвтор FAQ
 Аватар для Dragokas
18035 / 7738 / 892
Регистрация: 25.12.2011
Сообщений: 11,502
Записей в блоге: 16

Полезные BAT/CMD скрипты

15.10.2012, 00:56. Показов 669755. Ответов 185

Студворк — интернет-сервис помощи студентам
В этой теме выкладываем скрипты, которые часто используются Вами
или на Ваш взгляд могут иметь большое практическое значение.

Также приветствуются скрипты высокой степени сложности, полезные с точки зрения
изучения принципа их работы.

Правила темы:
  • При выкладывании скрипта постарайтесь тщательно описывать принцип его работы и по-больше комментировать строки Вашего кода.
  • Код, состоящий из > 4 строк, помещайте под теги [SPOILER="Развернуть код..."]Ваш код[/SPOILER]. Также можно сделать 2 варианта: 1. Чистый код. 2. С комментариями.
  • Запрещаются любые обсуждения выложенных здесь работ;
  • если в этом есть необходимость, создайте отдельную тему в которой опишите замечание или проблему при работе с данным скриптом, указав ссылку на сообщение из этой темы (правый клик по слову "Permalink" вверху каждого сообщения).
  • Если Вы хотите внести исправление в выложенный Вами код - пишите мне в личку ссылку на Ваше старое сообщение и новый исправленный вариант. (полный вариант с тегами Вашего старого сообщения можно получить, нажав на него - кнопка "Цитата").
  • Допускается размещение обзора программ, помогающих редактировать/отлаживать код.


Схожая тема: BAT/CMD файлы
Смежная тема: Полезные VBS скрипты и программы по работе с ними
Ссылка на набор полезных скриптов (предыдущая шапка от bombus) BAT/CMD файлы


******************* Перечень полезных скриптов: *******************

Архивация и резервное копирование
Создание CAB-архивов ссылка

Безопасность
Удаление последствий вируса (фейковые папки на флешке) ALINK
Стать владельцем папки/файла, получить полные права (пункт контекстного меню (Reg-файл) ALINK
Смена владельца и прав на папку и ее содержимое, в которой запущен батник (Full Access <-> Read Only) ссылка

Дата, время
Конвертация даты/времени из/в UNIX-формат(в секундах после 1-янв-1970 00:00:00) ссылка

Интерфейс
Крутящаяся палка (имитация) ссылка
Вызов GUI диалогового окна выбора папки ссылка
Разноцветный вывод в консоли. ссылка Цветная роза. ссылка
Диалоговое меню выбора файла ссылка

Компиляция
Помощник компиляции исходных кодов С# (.cs) через консольный NET.FrameWork компилятор ссылка

Операционная система
Восстановление шрифтов после сбоя ссылка
Пищалка (сигнал встроенного динамика, подобие Beep) ссылка
Регистрация всех библиотек DLL и OCX ссылка
Проверка целостности системных файлов утилитой sfc /scannow с выводом лога и автоопределением месторасположения диска ссылка

Сеть
Подсчёт маски подсети на основании двух крайних значений диапазона. ALINK
Пакетное получение информации о IP-адресах и построение HTML-отчёта. ALINK
GetIP/GetMAC/Get default gateway ссылка

Процессы
Завершение процесса (с листингом и выбором через меню) ссылка
Многопроцессное создание пустых файлов (бенчмарк для винчестера) ссылка
Отслеживание зависшего процесса и его перезапуск с указанным приоритетом ссылка
Process Change Monitor (мониторинг и протоколирование изменений в списке запущенных процессов) ссылка

Текстовые операции, кодировка
Вывод текста без переноса на новую строку ALINK
Перекодировка CP OEM-866 <-> WIN-1251 - 1) CMD 2) VBA 3) ASM (exe+src) ссылка
Помощь по всем командам вашей версии Windows / DOS ссылка
Транслитерация файлов, в именах которых есть кириллица (файловые операции) ссылка
Преобразование текстового файла в кодировку Unicode (файловые операции) ссылка
Перекодировщик Reversed Hex в символьную строку ссылка

Файловые операции, разделы
Взаимное копирование содержимого 2 папок друг в друга ALINK
Прогресс-бар копирования файлов ссылка
Циклическое копирование файлов по каталогам с ожиданием завершения их дозаписи в исходную папку. ссылка
Создание нуль-копии папки для выкладывания на форуме ссылка
Получение серийного номера всех съемных устройств и физических жестких дисков (не разделов). Получение имен разделов физических накопителей (кроме оптических). ссылка

Другое
Расчёт индекса массы тела и идеального веса ссылка
23
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
15.10.2012, 00:56
Ответы с готовыми решениями:

Batch (CMD/BAT) несколько заданий на CMD/BAT
1.Напишите bat файл на диске с ,который будет искать на всех дисках файлы с расширением exe,скопирует на диск с папку EXE в сортированном ...

CMD/BAT - Bat для запуска приложения при падении нагрузки ЦП другого процесса
Суть вопроса: есть батник запуска приложения @echo off start /d&quot;C:\Program Files%\программа\1.1.0\программа.exe&quot; Нужно...

Как запустить bat файл командой cmd /k передав bat файлу дополнительные аргументы
Как передать bat файлу, запускаемому через cmd /k аргументы? Это был первый вопрос, а теперь вот сам скрипт: call &quot;C:\Program...

185
Супер-модератор
Эксперт 1СЭксперт по компьютерным сетямЭксперт HardwareЭксперт Windows
 Аватар для Maks
9710 / 5541 / 647
Регистрация: 13.03.2013
Сообщений: 19,183
Записей в блоге: 63
21.10.2023, 10:45
Студворк — интернет-сервис помощи студентам
Снять ограничение на копирование файлов с именами, содержащими более 260 символов Windows 7/8.1/10
Windows Batch file
1
2
3
4
5
@echo off
::Добавляем параметр в реестр (если параметр уже имеется, будет выполнена смена значения)
REG ADD "HKLM\SYSTEM\CurrentControlSet\Control\FileSystem" /v LongPathsEnabled /t REG_DWORD /d 1 /f
::Перезагрузка системы, чтобы изменения вступили в силу
shutdown -r -f -t 000
0
Супер-модератор
Эксперт 1СЭксперт по компьютерным сетямЭксперт HardwareЭксперт Windows
 Аватар для Maks
9710 / 5541 / 647
Регистрация: 13.03.2013
Сообщений: 19,183
Записей в блоге: 63
23.11.2023, 13:29
Создание символической ссылке Windows 7/8.1/10
Помогло мне при переносе папки outlook с почтовыми файлами OST (IMAP) на другой диск...
Windows Batch file
1
2
3
4
5
6
7
8
9
@echo off
::Ярлык/ссылка
set source="C:\temp"
::Папка, на которую ссылается ярлык
set destination="D:\temp"
::Создание символической ссылки
mklink /j %source% %destination%
::Завершение работы интерпретатора
exit /b
0
Супер-модератор
Эксперт 1СЭксперт по компьютерным сетямЭксперт HardwareЭксперт Windows
 Аватар для Maks
9710 / 5541 / 647
Регистрация: 13.03.2013
Сообщений: 19,183
Записей в блоге: 63
24.12.2023, 07:34
Отключить неотключаемые службы Windows 7/8.1/10
Windows Batch file
1
2
3
4
5
@echo off
::В качестве примера приведена служба "Spooler", вместо нее при необходимости указываем нужную службу
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Spooler" /f /v Start /t REG_DWORD /d 4
::Завершение работы интерпретатора командной строки
exit /b
0
1 / 1 / 0
Регистрация: 22.10.2020
Сообщений: 16
29.01.2025, 18:26
Удаление файлов и папок старше 2 месяцев в том числе из сетевых папок, подсчет и логирование.

Код скрипта

Windows Batch file
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
@echo off
chcp 1251 > nul
setlocal enabledelayedexpansion
 
:: Обрабатываемая папка с вложенными папками
set "target_dir=d:\Backup\1c"
:: Количество дней от сегодняшней даты
set "days_old=60"
:: Файл лога
set "log_file=%target_dir%\cleanup_log_%date:~-4,4%-%date:~-7,2%-%date:~0,2%.txt"
set /a file_count=0
set /a folder_count=0
 
:: Проверка, запущен ли скрипт из UNC-пути
echo %~f0 | find "" > nul && set "UNC_LAUNCH=1" || set "UNC_LAUNCH=0"
 
:: Обработка сетевого пути
if %UNC_LAUNCH% equ 1 (
    echo [INFO] Запуск из сетевой папки, подключаем %target_dir%
    pushd "%target_dir%" 2>nul || (
        echo ОШИБКА: Нет доступа к %target_dir% >> "%log_file%"
        echo Не удалось подключить сетевую папку! См. лог: %log_file%
        pause
        exit /b 1
    )
    set "modified_target=%~d0"
) else (
    set "modified_target=%target_dir%"
)
 
echo === Очистка старых файлов %date% %time% === > "%log_file%"
 
if not exist "%modified_target%" (
    echo ОШИБКА: Папка не существует >> "%log_file%"
    echo Папка %modified_target% не существует! См. лог: %log_file%
    pause
    exit /b 1
)
 
:: Основная логика обработки
for /f "delims=" %%F in ('forfiles /P "%modified_target%" /S /D -%days_old% /C "cmd /c echo @path" 2^>^&1') do (
    echo Найден файл: %%F >> "%log_file%"
    set /a file_count+=1
    del /A /F /Q "%%F" && (
        echo [УСПЕХ] Удалён: %%F >> "%log_file%"
    ) || (
        echo [ОШИБКА] Не удалён: %%F >> "%log_file%"
        set /a file_count-=1
    )
)
 
for /f "delims=" %%D in ('dir "%modified_target%" /S /B /AD ^| sort /R 2^>^&1') do (
    rd "%%D" 2>nul && (
        echo Удалена папка: %%D >> "%log_file%"
        set /a folder_count+=1
    )
)
 
:: Финализация
if %UNC_LAUNCH% equ 1 (
    echo [INFO] Отключение сетевой папки
    popd
)
 
(
    echo.
    echo === ИТОГИ ===
    echo Обработано файлов: !file_count!
    echo Удалено папок: !folder_count!
    echo Исходное расположение: %~f0
    echo Целевая папка: %modified_target%
    echo Лог: %log_file%
    echo ==============
) >> "%log_file%"
 
type "%log_file%"
echo.
echo Операция завершена. Лог: %log_file%
pause
1
Супер-модератор
Эксперт 1СЭксперт по компьютерным сетямЭксперт HardwareЭксперт Windows
 Аватар для Maks
9710 / 5541 / 647
Регистрация: 13.03.2013
Сообщений: 19,183
Записей в блоге: 63
14.07.2025, 12:58
Windows 7/8.1/10/11
Проверено на редакции Pro/Corp/LTSC

Заблокировать доступ к локальной папке:
Windows Batch file
1
2
3
@echo off
icacls "D:\Folder" /inheritance:r /deny "Все:(OI)(CI)(F)"
exit /b
Разблокировать доступ к локальной папке:
Windows Batch file
1
2
3
4
@echo off
takeown /F "D:\Folder" /R /D Y
icacls "D:\Folder" /grant %username%:(F) /T
exit /b
Взято отсюда
1
Супер-модератор
Эксперт 1СЭксперт по компьютерным сетямЭксперт HardwareЭксперт Windows
 Аватар для Maks
9710 / 5541 / 647
Регистрация: 13.03.2013
Сообщений: 19,183
Записей в блоге: 63
29.05.2026, 12:03
Windows 10/11

Решение проблем с прорисовкой при переключении языковой раскладки клавиатуры (когда язык переключается не с первого раза):
Windows Batch file
1
2
3
4
5
6
7
@echo off
reg add "HKCU\Control Panel\Accessibility\Keyboard Response" /v "AutoRepeatDelay" /t REG_SZ /d "200" /f
reg add "HKCU\Control Panel\Accessibility\Keyboard Response" /v "AutoRepeatRate" /t REG_SZ /d "10" /f
reg add "HKCU\Control Panel\Accessibility\Keyboard Response" /v "DelayBeforeAcceptance" /t REG_SZ /d "0" /f
reg add "HKCU\Control Panel\Accessibility\Keyboard Response" /v "BounceTime" /t REG_SZ /d "0" /f
reg add "HKCU\Control Panel\Accessibility\Keyboard Response" /v "Flags" /t REG_SZ /d "0" /f
exit /b
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
29.05.2026, 12:03

Bat/cmd
Добро утро. Директор придумал просто одну вещь. Изложу ситуацию. У меня есть папка obchee_s_ras называется. В ней находятся файлы: ...

рисунок в BAT\CMD
Если кому будет не сложно можете нарисовать знак сбербанка и слово рядом) Буду очень благадарен

Меню в BAT/CMD
Вопрос от полного ламера. У меня такая проблемма надо сделать меню в CMD чтобы при нажатии 1 Выполнялся один сценарий при нажатии 2...

Задание CMD/BAT
1. Изменить вид приглашения, поместив туда время без секунд и миллисекунд. 2. Создать в текущем каталоге текстовый файл с...

На каком языке программирования пишутся скрипты для bat и vbc?
День добрый. Подскажите на каком языке пишутся скрипты для bat и vbc. Я знаю что под линукс идет шел а под виндус какой ? Спасибо!


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
186
Ответ Создать тему
Новые блоги и статьи
Саморегулирующийся социальный контракт для сервера cross-section.
Hrethgir 14.08.2026
С кодом конечно таких глубоких размышлений пока не было, впрочем я уже привык к алгоритмизации. Суть предмета записи: снова в диалоге с нейросетью (я взял пока себе ник для учётки админа - Rector). . . .
Часы электронные
Uhbif79 12.08.2026
Выкладываю программу часов. Программа позволяет: 1. Использовать системное время и дату, 2. Есть возможность вводить время и дату вручную. 3. Реализованы 2 будильника: начало и конец рабочего дня. . . .
Часы с будильником на основе класса QLCDNumber
Uhbif79 12.08.2026
Всем добрый день, выкладываю программу часов с будильником на основе класса QLCDNumber. Здесь я пробовал самостоятельно создавал классы, впервые столкнулся с видимостью переменной одного класса из. . .
Установка MinGW GCC 16.2 и CMake
8Observer8 10.08.2026
VK Видео: https:/ / vkvideo. ru/ video-240781534_456239017 YouTube: eY5-5PyI9NM Текстовая версия
Неделя из жизни имитационной модели склада: мои кривые руки растут, откуда надо
anaschu 10.08.2026
Неделя из жизни имитационной модели склада: как я почти написал неправильную логику и что с этим делать Работаю сейчас над учебно-рабочим проектом: строю в AnyLogic имитационную модель процессов. . .
Калькулятор для расчета родства
russiannick 07.08.2026
1. Задача: Создать калькулятор для расчета родства. Родственных связей существует 8 ступеней, такие как: p - отец P - мать q - муж Q - жена b - брат B - сестра s - сын S - дочь
Мир по моей воле
kumehtar 07.08.2026
Когда-то кажется, что всё просто. Ты весь такой светлый. Причиняешь добро. Борешься за справедливость в этом тёмном мире. Потом начинаешь замечать одну неприятную вещь. Почти каждый хороший. . .
Кредитный калькулятор
Maks 05.08.2026
Решение задачи по прикладной информатике средствами 1С. Задача: Напишите приложение-калькулятор, которое помогает рассчитывать параметры кредита для аннуитетного и дифференцированного видов. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru