1 | |
Полезные BAT/CMD скрипты15.10.2012, 00:56. Показов 604846. Ответов 182
Метки acl, antihidden, cabinet archive, cacls, drive serial number, folder permissions, not responding, regsvr32, sfc /scannow, takeown, полезные bat/cmd скрипты (Все метки)
В этой теме выкладываем скрипты, которые часто используются Вами
или на Ваш взгляд могут иметь большое практическое значение. Также приветствуются скрипты высокой степени сложности, полезные с точки зрения изучения принципа их работы. Правила темы:
Схожая тема: 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 Прогресс-бар копирования файлов ссылка Циклическое копирование файлов по каталогам с ожиданием завершения их дозаписи в исходную папку. ссылка Создание нуль-копии папки для выкладывания на форуме ссылка Получение серийного номера всех съемных устройств и физических жестких дисков (не разделов). Получение имен разделов физических накопителей (кроме оптических). ссылка Другое Расчёт индекса массы тела и идеального веса ссылка
22
|
15.10.2012, 00:56 | |
Ответы с готовыми решениями:
182
Batch (CMD/BAT) несколько заданий на CMD/BAT CMD/BAT - Bat для запуска приложения при падении нагрузки ЦП другого процесса Как запустить bat файл командой cmd /k передав bat файлу дополнительные аргументы Bat/cmd |
Покинул форум
3672 / 1483 / 355
Регистрация: 07.05.2015
Сообщений: 2,903
|
||||||
12.05.2016, 14:30 | 121 | |||||
uptime.cmd - исправленная версия, не требует chcp и явного указания typeperf'у счетчика производительности, так как подстановка производится отностельно индекса того или иного счетчика (в данном случае "\Система\Время работы системы"), что по сути делает сценарий локаленезависимым.
1
|
Любознательный
5672 / 1687 / 314
Регистрация: 10.03.2016
Сообщений: 3,843
|
||||||
03.06.2016, 06:06 | 122 | |||||
Интерактивный сценарий для упаковки файлов динамических виртуальных жестких дисков (формат "vdi", но возможно добавление других), использующихся в Oracle VM VirtualBox. Есть возможность выбора из подключенных виртуальных дисков, либо непосредственно указываем абсолютный путь к не подключенным файлам (абсолютные пути к подключенным файлам тоже работают). Используется консольный менеджер виртуальной машины, путь к которому необходимо либо прописать в системную переменную PATH, либо указать прямо в сценарии.
0
|
07.06.2016, 19:53 [ТС] | 123 | ||||||||||
Проигрывание звука
Придумал такой вариант проигрывания звукового файла через mshta: Вариант с доработкой от ComSpec:
Кликните здесь для просмотра всего текста
1
|
Покинул форум
3672 / 1483 / 355
Регистрация: 07.05.2015
Сообщений: 2,903
|
||||||
05.10.2016, 22:21 | 124 | |||||
"Открывашка" шелл-папок
Бывают ситуации, когда нужно в проводнике "запрыгнуть" в некую папку, скажем, AppData. Из самого проводника делать это неудобно, жать Tab в консоли также надоедает, в результате чего накидал командный сценарий, позволяющий "гулять" по такого рода папкам.
Код
E:\sandbox> j d Код
E:\sandbox> j "start m" Если соответсвий несколько, будут выведены возможные варианты, например: Код
E:\sandbox> j s
2
|
Покинул форум
3672 / 1483 / 355
Регистрация: 07.05.2015
Сообщений: 2,903
|
||||||
14.10.2016, 23:00 | 125 | |||||
Вычисление md2, md4, md5, sha1, sha256, sha384 и sha512 хэшей файла
Подход не совсем уникальный, так как certutil "из коробки" появился начиная с Win2k3, правда тогда то было какое-то недоразумение, если учесть частые лаги. В общем, код ниже писался на Win7, но может кому и сгодится в хозяйстве (по умолчанию вычисляется sha256).
Код
E:\sandbox> hasher app.exe 91b8d19a897cac6cfc638b0c195ee541e78781402e1d59dad7f3d532376f32d2 E:\sandbox> hasher app.exe md5 fef8118edf7918d3c795d6ef03800519
3
|
Покинул форум
3672 / 1483 / 355
Регистрация: 07.05.2015
Сообщений: 2,903
|
||||||
16.10.2016, 17:56 | 126 | |||||
Монтирование Яндекс.Диска
В одной из тем был вопрос касательно монтирования Яндекс.Диска посредством WebDAV через комстроку, что возможно сделать лишь на винде > 2k3, то бишь начиная с Vista, - утверждать не стану, так как не проверялось, а вот на Win7 работает точно. Единственно, не свистоперделок ради, а для некоторой безопасности (хотя что есть безопасность?!), не хотелось бы сверкать паролем и именем пользователя от диска. Порывшись в своих старых записях, нашел заметку, как скрыть пароль от посторонних глаз.
Код
C:\bin> yadisk /mount User: Pass: Диск Z: сейчас подключен к https://webdav.yandex.ru. Команда выполнена успешно. C:\bin> yadisk -unmount
6
|
4334 / 2124 / 661
Регистрация: 26.04.2015
Сообщений: 6,823
|
||||||
14.11.2016, 18:22 | 127 | |||||
Сделал утилиту, которая позволяет выводить из файла содержимое, расположенное между тегами.
Теги, в определенных пределах, могут быть довольно разнообразные, ниже пример. Запуск: teg_s.bat файл откуда файл куда тег блок Пример: teg_s.bat file.txt new.txt --- 2 (здесь берем все между 2-м и 3-м тегом вида, примерно -----) Если параметр "блок" не указывать, будет взято содержимое между последним и предпоследним тегами или между первым и вторым, если блок единственный. Тег или часть его, указывать максимально похожий на тот, что есть в файле, чтобы точнее его определить. Код:
Содержимое файла "file.txt": Код
stroka aaa ddd aastroka eee strokaaa fff bbbaa Код
teg_s.bat file.txt new.txt aa Содержимое "new.txt" по команде: Код
teg_s.bat file.txt new.txt stroka 2
1
|
5989 / 1998 / 323
Регистрация: 10.12.2013
Сообщений: 6,882
|
||||||||||||||||
26.11.2016, 04:45 | 128 | |||||||||||||||
Извлечение IP-адресов с помощью WMIC
Для вытаскивания информации из информационных систем в IT-отрасли нашего земного шара существуют стандартизированные механизмы. Microsoft обязана им следовать и её реализация называется WMI ( Windows Management Instrumentation ). Интерфейсом к WIM является утилита командной строки WMIC. Например, извлечь IP-адрес(а), привязанный(ые) к сетевому адаптеру:
Код
IPAddress={"10.10.10.10","172.17.17.17"}
Код
Caption=[00000001] AMD PCNET Family PCI Ethernet Adapter IPAddress={"192.168.88.118"} IPSubnet={"255.255.255.0"}
Код
Caption=[00000006] WAN Miniport (PPPOE) IPAddress= IPSubnet= Хочу внести стратегическое дополнение. Как я уже написал в самом начале, WMI - это реализация DMTF-стандарта под названием CIM ( Common Information Model ); Майкрософт, будучи членом DMTF, безусловно придерживался и будет придерживаться в дальнейшем этого стандарта. В старой реализации WMI, которая относится ещё к Windows NT 4.0, на клиенте и на сервере были запущены сервисы, которые использовали механизмы DCOM/RPC, для отправления запросов/получения данных. WMIC использует именно эту старую реализацию. В 2012-ом году, произошли изменения стандарта CIM, Microsoft отреагировал на это, выпустив Windows Management Framework-3 и даже поменял аббревиатуру с WMI на MI ( Managment Infrastructure ), что, впрочем, не мешает ему по-прежнему пользоваться термином WMI. Главное отличие - это появление клиент-серверного протокола Web Services for Management или WS-MAN, который в Microsoft живёт под именем WinRM-сервис и который заменяет DCOM/RPC. Новые cmdlet-ы powershell разговаривают на языке именно этого протокола, то есть, внутреннее API полностью поменялось; в технические подробности не вдаюсь. Теперь можно опрашивать и извлекать IP-адрес не только Windows-машин, но и Linux, а также маршрутизаторов, коммутаторов, пылесосов и кофемолок, лишь бы в последних был реализован сервис MI ( точнее, OMI - Open Management Infrastructure ) Итак, извлечь IP-адрес пылесоса наш WMIC не способен [ ], поэтому современная стратегия использования WMI состоит в переходе на powershell. refs: https://donjones.com/2015/04/14/omi-cim-wmi/ https://powershell.org/2015/04... ictionary/ https://collaboration.opengroup.org/omi/ https://msdn.microsoft.com/en-... h_overview
2
|
Модератор
5198 / 2080 / 406
Регистрация: 06.01.2013
Сообщений: 4,794
|
||||||||||||||||||||||||||
02.12.2016, 02:09 | 129 | |||||||||||||||||||||||||
По мотивам https://www.cyberforum.ru/post3934558.html
sudo.bat Запуск команды с повышенными привилегиями с передачей всех аргументов. (Комбинированный BAT/JS)
Запуск консоли с повышенными привилегиями в текущей рабочей директории, либо директории, переданной первым аргументом. (комбинированный BAT/JS)
1
|
Любознательный
5672 / 1687 / 314
Регистрация: 10.03.2016
Сообщений: 3,843
|
||||||
02.12.2016, 12:22 | 130 | |||||
В дополнение к предыдущему сообщению:
0
|
15.12.2016, 22:05 [ТС] | 131 | |||||
Поиск альтернативных файловых потоков, которые занимают слишком много места на диске
Как известно, большинство программ оценки свободного места (вроде WinDirStat) не показывают объем, занимаемый альтернативными файловыми потоками. Этот скрипт призван заполнить такой недостаток. По-умолчанию сканируется только системный диск. В отчёт попадут файли и папки, чьи ADS занимают более 1000 байт. Можете изменить этот лимит в переменной MAX_STREAM_SIZE. Совместимость: Windows Vista и выше.
0
|
21.12.2016, 23:08 [ТС] | 132 |
Узнаём, сколько места занимают служебные файлы NTFS, невидимые в проводнике / и других файловых менеджерах.
Скрипт позволяет узнать объем файлов:
Использование: распаковать, запустить батник Get_NTFS_Space.cmd от имени Администратора, получить отчет в файле $NTFS.log Отчёт получается в такой форме: Кликните здесь для просмотра всего текста
Изменения: 28.06.2020 - обновлено до v1.1, - добавлен ключ -accepteula
1
|
Покинул форум
3672 / 1483 / 355
Регистрация: 07.05.2015
Сообщений: 2,903
|
||||||
22.03.2017, 14:27 | 133 | |||||
hex2bin
Конвертер чисел из шестнадцатиричной системы счисления в бинарную (и обратно) с поддержкой интерактивного режима.
Код
E:\sandbox> hex2bin.cmd A 00000000000000000000000000001010 E:\sandbox> hex2bin.cmd x10 00000000000000000000000000010000 E:\sandbox> hex2bin.cmd hex2bin v1.01 - converts hex to binary and vice versa [Enter .c to clear output data or .q to exit] >>> 10000 0x00000010 >>> 11b 00000000000000000000000100011011 >>> 11111111 0x000000FF >>> .q =>err E:\sandbox>
3
|
Покинул форум
3672 / 1483 / 355
Регистрация: 07.05.2015
Сообщений: 2,903
|
||||||
24.03.2017, 12:56 | 134 | |||||
Календарь на текущий месяц
Пример того, как можно использовать robocopy не совсем по назначению. Временных файлов при этом не создается. Всецело протестировать не представляется возможным, так что фидбеки (отдельной темой) приветствуются.
Код
E:\sandbox> cal.cmd Mar 2017 Mo Tu We Th Fr Sa Su 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 E:\sandbox>
5
|
Модератор
|
|
14.04.2017, 07:41 | 135 |
Предисловие: буквально на днях столкнулся с тем, что у довольно старенького ноута "села" батарейка на БИОС, в результате чего время постоянно слетало на 2011 год, из-за чего переставал работать скайп, антивирус, а интернет-браузеры "ругались" на нарушение безопасности и т.п.
В общем, батарейка на ноуте был специфическая, в городе таких не продавались, поэтому воткнул вот такие "костыли". Создал два файла CMD: timesync.cmd
Код
w32tm /resync timezone.cmd
Код
tzutil.exe /s "Ekaterinburg Standard Time" Оба файла закинул в автозагрузку системы. При активном "UAC" или при использовании иных ограничений текущего пользователя, можно создать задание в планировщике, выставить триггер "При запуске системы" и не забываем про галочку "Выполнять с наивысшими правами". После чего при старте/перезагрузке системы время актуализировалось.
1
|
17.04.2017, 19:49 [ТС] | 136 | |||||
SystemDrive Folder NTFS privileges restorer by Alex Dragokas
Назначение: Применяется, когда NTFS-права корня системного диска повреждены. Примеры признаков:
Стандартные права
Формальное сокращенное описание (для быстрой оценки):
Кликните здесь для просмотра всего текста
Введите icacls %SystemDrive%\ для проверки. Для Windows Vista / 7: Код
BUILTIN\Администраторы:(F) BUILTIN\Администраторы:(OI)(CI)(IO)(F) NT AUTHORITY\система:(F) NT AUTHORITY\система:(OI)(CI)(IO)(F) BUILTIN\Пользователи:(OI)(CI)(RX) NT AUTHORITY\Прошедшие проверку:(OI)(CI)(IO)(M) NT AUTHORITY\Прошедшие проверку:(AD) Обязательная метка\Высокий обязательный уровень:(OI)(NP)(IO)(NW) Код
BUILTIN\Администраторы:(OI)(CI)(F) NT AUTHORITY\СИСТЕМА:(OI)(CI)(F) BUILTIN\Пользователи:(OI)(CI)(RX) NT AUTHORITY\Прошедшие проверку:(OI)(CI)(IO)(M) NT AUTHORITY\Прошедшие проверку:(AD) Обязательная метка\Высокий обязательный уровень:(OI)(NP)(IO)(NW) Использование: Распаковать архив. Запустить файл "SysDrive Permissions Restorer.cmd" правой кнопкой мыши "От имени администратора". Показать отчёт Perm_Log_U.log специалисту. Пример лога с успешными операциями:
SystemDrive Folder NTFS privileges restorer script by Alex Dragokas (v.1.0) Please wait ... 17.04.2017 - 19:24:06,49 Checking requirements C:\Windows\System32\takeown.exe C:\Windows\System32\icacls.exe C:\Windows\System32\find.exe OS: Microsoft Windows [Version 6.1.7601] SystemDrive is: C: Имя тома: Серийный номер тома: 0xa4780dd6 Максимальная длина компонентов: 255 Имя файловой системы: NTFS Поддерживает учет регистров в именах файлов Сохраняет имена файлов с учетом регистра Поддерживает использование Юникода в именах файлов Поддерживает обязательное использование списков доступа (ACL) Поддерживает сжатие файлов Поддерживает дисковые квоты Поддерживает разреженные файлы Поддерживает точки повторной обработки Поддерживает идентификаторы объектов Поддерживает шифрование на уровне файловой системы (EFS) Поддерживает именованные потоки Поддержка транзакций Поддерживает жесткие ссылки Поддерживает расширенные атрибуты Поддерживает открытие по идентификатору файла Поддерживает журнал USN Backup C:\ BUILTIN\Администраторы:(F) BUILTIN\Администраторы:(OI)(CI)(IO)(F) NT AUTHORITY\система:(F) NT AUTHORITY\система:(OI)(CI)(IO)(F) BUILTIN\Пользователи:(OI)(CI)(RX) NT AUTHORITY\Прошедшие проверку:(OI)(CI)(IO)(M) NT AUTHORITY\Прошедшие проверку:(AD) Обязательная метка\Высокий обязательный уровень:(OI)(NP)(IO)(NW) Успешно обработано 1 файлов; не удалось обработать 0 файлов обработанный файл: C:\ Успешно обработано 1 файлов; не удалось обработать 0 файлов ACL backup stored in: "C:\Users\tfcor\Desktop\SysDrive.acl" Changing owner Успех. Владельцем файла (или папки) "C:" является группа администраторов. Removing 'deny' privileges >>> icacls C:\ /remove:d "BUILTIN\Администраторы" обработанный файл: C:\ Успешно обработано 1 файлов; не удалось обработать 0 файлов >>> icacls C:\ /remove:d "BUILTIN\Администраторы" обработанный файл: C:\ Успешно обработано 1 файлов; не удалось обработать 0 файлов >>> icacls C:\ /remove:d "NT AUTHORITY\система" обработанный файл: C:\ Успешно обработано 1 файлов; не удалось обработать 0 файлов >>> icacls C:\ /remove:d "NT AUTHORITY\система" обработанный файл: C:\ Успешно обработано 1 файлов; не удалось обработать 0 файлов >>> icacls C:\ /remove:d "BUILTIN\Пользователи" обработанный файл: C:\ Успешно обработано 1 файлов; не удалось обработать 0 файлов >>> icacls C:\ /remove:d "NT AUTHORITY\Прошедшие проверку" обработанный файл: C:\ Успешно обработано 1 файлов; не удалось обработать 0 файлов >>> icacls C:\ /remove:d "NT AUTHORITY\Прошедшие проверку" обработанный файл: C:\ Успешно обработано 1 файлов; не удалось обработать 0 файлов >>> icacls C:\ /remove:d "Обязательная метка\Высокий обязательный уровень" обработанный файл: C:\ Успешно обработано 1 файлов; не удалось обработать 0 файлов >>> icacls C:\ /remove:d "шно обработано 1 файлов; не удалось обработать 0 файлов" Успешно обработано 0 файлов; не удалось обработать 0 файлов Restoring privileges Applying Window 7 template... >>> icacls C:\ /grant:r *S-1-5-32-544:(F) обработанный файл: C:\ Успешно обработано 1 файлов; не удалось обработать 0 файлов >>> icacls C:\ /grant:r *S-1-5-32-544:(OI)(CI)(IO)(F) обработанный файл: C:\ Успешно обработано 1 файлов; не удалось обработать 0 файлов >>> icacls C:\ /grant:r *S-1-5-18:(F) обработанный файл: C:\ Успешно обработано 1 файлов; не удалось обработать 0 файлов >>> icacls C:\ /grant:r *S-1-5-18:(OI)(CI)(IO)(F) обработанный файл: C:\ Успешно обработано 1 файлов; не удалось обработать 0 файлов >>> icacls C:\ /grant:r *S-1-5-32-545:(OI)(CI)(RX) обработанный файл: C:\ Успешно обработано 1 файлов; не удалось обработать 0 файлов >>> icacls C:\ /grant:r *S-1-5-11:(OI)(CI)(IO)(M) обработанный файл: C:\ Успешно обработано 1 файлов; не удалось обработать 0 файлов >>> icacls C:\ /grant:r *S-1-5-11:(AD) обработанный файл: C:\ Успешно обработано 1 файлов; не удалось обработать 0 файлов Setting integrity level >>> icacls C:\ /setintegritylevel (OI)(IO)(NP)H обработанный файл: C:\ Успешно обработано 1 файлов; не удалось обработать 0 файлов Restoring owner >>> icacls C:\ /setowner *S-1-5-80-956008885-3418522649-1831038044-1853292631-2271478464 обработанный файл: C:\ Успешно обработано 1 файлов; не удалось обработать 0 файлов List of new permissions C:\ BUILTIN\Администраторы:(F) BUILTIN\Администраторы:(OI)(CI)(IO)(F) NT AUTHORITY\система:(F) NT AUTHORITY\система:(OI)(CI)(IO)(F) BUILTIN\Пользователи:(OI)(CI)(RX) NT AUTHORITY\Прошедшие проверку:(OI)(CI)(IO)(M) NT AUTHORITY\Прошедшие проверку:(AD) Обязательная метка\Высокий обязательный уровень:(OI)(NP)(IO)(NW) Успешно обработано 1 файлов; не удалось обработать 0 файлов LogFile stored in: "C:\Users\tfcor\Desktop\Perm_Log_U.log" Script is finished. Show this logfile to helper. Работа скрипта завершена. Покажите этот отчёт специалисту. Совместимость: Windows 10 / 8.1 / 8 / 7 / Vista Примечание: Скрипт не удаляет разрешающие привилегии. Если у Вас установлены лишние привилегии разрешения доступа, Вам придётся удалять их самостоятельно. Код батника
1
|
10582 / 5545 / 864
Регистрация: 07.04.2013
Сообщений: 15,660
|
||||||
06.01.2018, 03:18 | 137 | |||||
Вывод даты в формате ISO 8601 вне зависимости от региональных настроек системы и настроек формата вывода даты
ИСТОЧНИК
1
|
4334 / 2124 / 661
Регистрация: 26.04.2015
Сообщений: 6,823
|
||||||
07.01.2018, 00:35 | 138 | |||||
мой вариант:
1
|
07.01.2018, 22:46 [ТС] | 139 |
1
|
Модератор
|
|||||||||||
23.01.2018, 11:44 | 140 | ||||||||||
Узнать модель материнской платы или нутбука
Узнать версию BIOS
2
|
23.01.2018, 11:44 | |
23.01.2018, 11:44 | |
Помогаю со студенческими работами здесь
140
рисунок в BAT\CMD Меню в BAT/CMD Задание CMD/BAT На каком языке программирования пишутся скрипты для bat и vbc? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |