Форум программистов, компьютерный форум, киберфорум
Наши страницы

Batch (CMD/BAT)

Войти
Регистрация
Восстановить пароль
 
 
Dragokas
Эксперт WindowsАвтор FAQ
16242 / 6941 / 834
Регистрация: 25.12.2011
Сообщений: 10,722
Записей в блоге: 16
#1

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

15.10.2012, 00:56. Просмотров 288303. Ответов 152

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

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

Правила темы:
  • При выкладывании скрипта постарайтесь тщательно описывать принцип его работы и по-больше комментировать строки Вашего кода.
  • Код, состоящий из > 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
Прогресс-бар копирования файлов ссылка
Циклическое копирование файлов по каталогам с ожиданием завершения их дозаписи в исходную папку. ссылка
Создание нуль-копии папки для выкладывания на форуме ссылка
Получение серийного номера всех съемных устройств и физических жестких дисков (не разделов). Получение имен разделов физических накопителей (кроме оптических). ссылка

Другое
Расчёт индекса массы тела и идеального веса ссылка
18
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.10.2012, 00:56
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Полезные BAT/CMD скрипты (CMD/BAT):

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

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

несколько заданий на CMD/BAT - CMD/BAT
очень прошу, помогите с этими задачками :(... 1.Напишите командный .bat-файл, который при запуске добавляет в файл delta.txt...

сортировка по времени в bat/cmd - CMD/BAT
сабж в папке А лежит bat, который в папке Б сортирует все файлы по времени и оставляет только 10 самых свежих спасибо заранее

Числовые операторы в CMD/BAT - CMD/BAT
Чего они делают объясните? взято из set /? Добавлено через 1 час Унарные операторы: set /a y=&quot;!&quot;%x% дает результат(%y%) 1...

zenity.exe в bat\cmd - CMD/BAT
Приветствую всех! Гуру помогите разобраться, решил вот использовать утилиту zenity.ехе для вывода предупреждающего текста. То есть идея...

152
greg zakharov
Покинул форум
1826 / 741 / 187
Регистрация: 07.05.2015
Сообщений: 1,481
Записей в блоге: 39
22.03.2017, 14:27 #136
hex2bin

Конвертер чисел из шестнадцатиричной системы счисления в бинарную (и обратно) с поддержкой интерактивного режима.
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
@echo off
  if /i "%~1" equ "" if not defined run goto:box
  setlocal enabledelayedexpansion
    set "i=0"
    for %%i in (%*) do set /a "i+=1"
    if !i! neq 1 goto:err
 
    echo:%~1|>nul findstr /irc:"[a-f,x]"&&(
      2>nil (set /a "dec=0%~1"||set /a "dec=0x%~1")&&(
        for /l %%i in (1, 1, 32) do (
          set /a "bit=dec&1, dec>>=1"
          set "bin=!bit!!bin!"
        )
        echo:!bin!
      )||goto:err
    )||(
      echo:%~1|>nul findstr /irc:"[3-9a-z]"&&goto:err
      set "bin=%~1"
      for /l %%i in (1, 1, 32) do (
        if defined bin (
          set /a "dec=(dec<<1)|!bin:~0,1!"
          set "bin=!bin:~1!"
        )
      )
      cmd /c exit /b !dec!& echo 0x!=exitcode!
    )
  endlocal
exit /b
 
:err
  echo:=^>err
exit /b
 
:box
  for %%i in (
    "%~n0 v1.01 - converts hex to binary and vice versa"
    "[Enter .c to clear output data or .q to exit]"
    ""
  ) do echo:%%~i
  setlocal
    set "run=true"
    :repeat
      set /p "i=>>> "
      cmd /c "%~f0" %i%
      if /i "%i%" equ ".c" cls
      if /i "%i%" equ ".q" goto:eof
      goto:repeat
  endlocal
exit /b
Пример использования:
Код
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>
2
greg zakharov
Покинул форум
1826 / 741 / 187
Регистрация: 07.05.2015
Сообщений: 1,481
Записей в блоге: 39
24.03.2017, 12:56 #137
Календарь на текущий месяц

Пример того, как можно использовать robocopy не совсем по назначению. Временных файлов при этом не создается. Всецело протестировать не представляется возможным, так что фидбеки (отдельной темой) приветствуются.
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
@echo off
  setlocal
    for /f "tokens=3,4,5,7" %%i in (
      'robocopy . . $ /l /njh /nfl /ndl^
      ^| findstr /rc:"%time:~0,-3%"'
    ) do (
      set "dow=%%i" % rem : день недели
      set "mon=%%j" % rem : месяц
      set "day=%%k" % rem : день
      :: високосный?
      set "year=%%l"
    )
    set "d=31;28;31;30;31;30;31;31;30;31;30;31" % rem : количество дней в месяцах
    set /a "leap=!(year%%4)+(!!(year%%100)-!!(year%%400))"
    if %leap% equ 1 set "d=%d:8=9%" % rem : если високосный, корректируем февраль
    set "m=Jan;Feb;Mar;Apr;May;Jun;Jul;Aug;Sep;Oct;Nov;Dec"
    set "w=Mon;Tue;Wed;Thu;Fri;Sat;Sun"
    call:printcal
  endlocal
exit /b
 
:printcal
  setlocal enabledelayedexpansion
    :: всего дней в текущем месяце
    call:getindex "!m!" "!mon!"
    call:getdays  "!d!"
    :: день недели первого дня месяца
    call:getindex "!w!" "!dow!"
    for /l %%i in (!day!, -1, 1) do (
      if %%i neq 1 if !$_! equ 1 set "$_=8"
      set /a "$_-=1"
    )
    :: строка-заготовка календаря
    set "raw=Mo Tu We Th Fr Sa Su"
    for /l %%i in (1, 1, !$_!) do set "raw=!raw!   "
    for /l %%i in (1, 1, !$$!) do (
      if %%i lss 10 (
        set "raw=!raw!  %%i"
      ) else ( set "raw=!raw! %%i" )
    )
    :: бъем строку на блоки и выводим результат
    call:strlen "!raw!"
    echo:      !mon! !year!
    for /l %%i in (0, 21, !i!) do echo !raw:~%%i,20!
  endlocal
exit /b
 
:getdays
  set "i=0"
  for %%i in (%~1) do (
    set /a "i+=1"&if !i! equ !$_! set "$$=%%i"
  )
exit /b
 
:getindex
  set "i=0"
  for %%i in (%~1) do (
    set /a "i+=1"&if /i "%%i" equ "%~2" set "$_=!i!"
  )
exit /b
 
:strlen
  set "i=0"
  set "str=%~1"
  :repeat
    set "c=!str:~%i%,1!"
    if defined c set /a "i+=1"&goto:repeat
exit /b
Итог:
Код
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>
4
Maks
Модератор
Эксперт по компьютерным сетямЭксперт HardwareЭксперт Windows
2831 / 1392 / 149
Регистрация: 13.03.2013
Сообщений: 6,633
Записей в блоге: 3
14.04.2017, 07:41 #138
Предисловие: буквально на днях столкнулся с тем, что у довольно старенького ноута "села" батарейка на БИОС, в результате чего время постоянно слетало на 2011 год, из-за чего переставал работать скайп, антивирус, а интернет-браузеры "ругались" на нарушение безопасности и т.п.
В общем, батарейка на ноуте был специфическая, в городе таких не продавались, поэтому воткнул вот такие "костыли".
Создал два файла CMD:
timesync.cmd
Код
w32tm /resync
Синхронизирует время через интернет

timezone.cmd
Код
tzutil.exe /s "Ekaterinburg Standard Time"
Синхронизирует часовой пояс через интернет

Оба файла закинул в автозагрузку системы.
При активном "UAC" или при использовании иных ограничений текущего пользователя, можно создать задание в планировщике, выставить триггер "При запуске системы" и не забываем про галочку "Выполнять с наивысшими правами".
После чего при старте/перезагрузке системы время актуализировалось.
0
Dragokas
Эксперт WindowsАвтор FAQ
16242 / 6941 / 834
Регистрация: 25.12.2011
Сообщений: 10,722
Записей в блоге: 16
17.04.2017, 19:49  [ТС] #139
SystemDrive Folder NTFS privileges restorer by Alex Dragokas

Назначение:
Применяется, когда NTFS-права корня системного диска повреждены.
Примеры признаков:
  • отказ в доступе при записи в корень диска C:
Стандартные права


Формальное сокращенное описание (для быстрой оценки):
  • Пользователям из группы "администраторы" разрешается запись файлов в корень диска C: после прохождения проверки UAC.
  • Пользователям из групп "администраторы" и "пользователи" разрешается создание папок в корне диска C:.
Подробный список прав:
Кликните здесь для просмотра всего текста

Введите 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)
Для Windows 8 / 8.1 / 10:
Код
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

Примечание:
Скрипт не удаляет разрешающие привилегии. Если у Вас установлены лишние привилегии разрешения доступа, Вам придётся удалять их самостоятельно.

Код батника

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
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
@echo off
SetLocal EnableExtensions EnableDelayedExpansion
 
echo.
echo SystemDrive Folder NTFS privileges restorer script by Alex Dragokas (v.1.0)
echo.
echo Please wait ...
 
cd /d "%~dp0"
prompt ^>^>^> 
 
if "%~1"=="" (
  echo. 1>&3 2>&4 3>Perm_Log.log 4>&3
  call "%~fs0" 0
  exit /b
)
 
echo.
echo %date% - %time%
echo.
echo Checking requirements
net session >NUL 2>NUL || (
  echo Admin. privileges required.
  echo Run this bat-file by right mouse click and choose "Run as administrator".
  echo.
  echo Требуются привилегии администратора.
  echo Запустите этот бат-файл правой кнопкой мыши и выберите "Запуск от имени администратора".
  goto log
)
 
where takeown || (echo takeown.exe utility is not found & goto log)
where icacls  || (echo icacls.exe  utility is not found & goto log)
where find    || (echo find.exe    utility is not found & goto log)
 
echo OS:
set "bWin10="
set "bWin8="
set "bWin7="
set "bWinVista="
ver
ver |>NUL find "10." && set bWin10=true
ver |>NUL find "6.4" && set bWin10=true
ver |>NUL find "6.3" && set bWin8=true
ver |>NUL find "6.2" && set bWin8=true
ver |>NUL find "6.1" && set bWin7=true
ver |>NUL find "6.0" && set bWinVista=true
if not defined bWin10 if not defined bWin8 if not defined bWin7 if not defined bWinVista (echo Script is intended for Windows Vista/7/8/8.1/10 only. Terminated. & goto log)
 
echo SystemDrive is: %SystemDrive%
fsutil fsinfo volumeinfo %SystemDrive%
 
echo.
echo Backup
for /f "delims=" %%a in ('icacls %SystemDrive%\') do echo %%a
icacls %SystemDrive%\ /save SysDrive.acl
echo ACL backup stored in: "%~dp0SysDrive.acl"
 
echo.
echo Changing owner
takeown /A /F %SystemDrive%\
 
echo.
echo Removing 'deny' privileges
echo on
@for /f "delims=" %%a in ('icacls %SystemDrive%\') do @(
  @set "S=%%a"
  @for /f "delims=:" %%b in ("!S:~4!") do icacls %SystemDrive%\ /remove:d "%%b"
)
 
@echo.
@echo Restoring privileges
@if defined bWinVista call :doWin7
@if defined bWin7 call :doWin7
@if defined bWin8 call :doWin8
@if defined bWin10 call :doWin8
@goto finalize
 
:doWin7
@echo Applying Window 7 template...
:: BUILTIN\Administrators
icacls %SystemDrive%\ /grant:r *S-1-5-32-544:(F)
icacls %SystemDrive%\ /grant:r *S-1-5-32-544:(OI)(CI)(IO)(F)
:: NT AUTHORITY\SYSTEM
icacls %SystemDrive%\ /grant:r *S-1-5-18:(F)
icacls %SystemDrive%\ /grant:r *S-1-5-18:(OI)(CI)(IO)(F)
:: BUILTIN\Users
icacls %SystemDrive%\ /grant:r *S-1-5-32-545:(OI)(CI)(RX)
:: NT AUTHORITY\Authenticated Users
icacls %SystemDrive%\ /grant:r *S-1-5-11:(OI)(CI)(IO)(M)
icacls %SystemDrive%\ /grant:r *S-1-5-11:(AD)
@exit /b
 
:doWin8
@echo Applying Window 8 template...
:: BUILTIN\Administrators
icacls %SystemDrive%\ /grant:r *S-1-5-32-544:(OI)(CI)(F)
:: NT AUTHORITY\SYSTEM
icacls %SystemDrive%\ /grant:r *S-1-5-18:(OI)(CI)(F)
:: BUILTIN\Users
icacls %SystemDrive%\ /grant:r *S-1-5-32-545:(OI)(CI)(RX)
:: NT AUTHORITY\Authenticated Users
icacls %SystemDrive%\ /grant:r *S-1-5-11:(OI)(CI)(IO)(M)
icacls %SystemDrive%\ /grant:r *S-1-5-11:(AD)
@exit /b
 
:finalize
@echo.
@echo Setting integrity level
:: Обязательная метка\Высокий обязательный уровень
icacls %SystemDrive%\ /setintegritylevel (OI)(IO)(NP)H
 
@echo.
@echo Restoring owner
icacls %SystemDrive%\ /setowner *S-1-5-80-956008885-3418522649-1831038044-1853292631-2271478464
 
@echo off
echo.
echo List of new permissions
for /f "delims=" %%a in ('icacls %SystemDrive%\') do echo %%a
echo.
echo LogFile stored in: "%~dp0Perm_Log_U.log"
echo.
echo Script is finished.
echo Show this logfile to helper.
echo.
echo Работа скрипта завершена.
echo Покажите этот отчёт специалисту.
 
:log
cmd /u /c type Perm_Log.log > Perm_Log_U.log
notepad Perm_Log_U.log
1
Вложения
Тип файла: zip SysDrive Permissions Restorer.zip (1.6 Кб, 8 просмотров)
alpap
26.05.2017, 10:39
  #140

Не по теме:

Давайте будем штрафовать очень больно за вопросы не по теме в информационно-избранные разделы!

0
svonjoi
0 / 0 / 0
Регистрация: 14.09.2017
Сообщений: 1
15.09.2017, 22:28 #141
код на мас адрес не работает, возвращает нули. айпи и шлюз норм
windows 7
0
Dragokas
Эксперт WindowsАвтор FAQ
16242 / 6941 / 834
Регистрация: 25.12.2011
Сообщений: 10,722
Записей в блоге: 16
16.09.2017, 10:34  [ТС] #142
svonjoi,

Цитата Сообщение от Dragokas Посмотреть сообщение
В этой теме выкладываем скрипты, которые часто используются Вами
или на Ваш взгляд могут иметь большое практическое значение.
Внимательно читайте первый пост. Там есть ответы на все ваши вопросы.
1
vavun
Выскочка
Эксперт Windows
9676 / 5087 / 773
Регистрация: 07.04.2013
Сообщений: 14,866
Записей в блоге: 2
06.01.2018, 03:18 #143
Вывод даты в формате ISO 8601 вне зависимости от региональных настроек системы и настроек формата вывода даты

ИСТОЧНИК
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
@Echo off
:: Check WMIC is available
WMIC.EXE Alias /? >NUL 2>&1 || GOTO s_error
 
:: Use WMIC to retrieve date and time
FOR /F "skip=1 tokens=1-6" %%G IN ('WMIC Path Win32_LocalTime Get Day^,Hour^,Minute^,Month^,Second^,Year /Format:table') DO (
   IF "%%~L"=="" goto s_done
      Set _yyyy=%%L
      Set _mm=00%%J
      Set _dd=00%%G
      Set _hour=00%%H
      SET _minute=00%%I
)
:s_done
 
:: Pad digits with leading zeros
      Set _mm=%_mm:~-2%
      Set _dd=%_dd:~-2%
      Set _hour=%_hour:~-2%
      Set _minute=%_minute:~-2%
 
:: Display the date/time in ISO 8601 format:
Set _isodate=%_yyyy%-%_mm%-%_dd% %_hour%:%_minute%
Echo %_isodate%
 
GOTO:EOF
 
:s_error
Echo GetDate.cmd
Echo Displays date and time independent of OS Locale, Language or date format.
Echo Requires Windows XP Professional, Vista or Windows 7
1
alpap
1179 / 952 / 291
Регистрация: 26.04.2015
Сообщений: 3,517
07.01.2018, 00:35 #144
мой вариант:
Windows Batch file
1
2
3
4
@echo off
for /f "tokens=1* delims==" %%a in ('"wmic path win32_localtime get Day,Month,Year,Hour,Minute,Second /value|find "^=""') do set "%%a=0%%b"
echo %Year:~-5%.%Month:~-3%.%Day:~-3%-%Hour:~-3%'%Minute:~-3%'%Second:~-3%
pause& exit
1
Dragokas
Эксперт WindowsАвтор FAQ
16242 / 6941 / 834
Регистрация: 25.12.2011
Сообщений: 10,722
Записей в блоге: 16
07.01.2018, 22:46  [ТС] #145
Каталог простых примеров решенных задач BAT/CMD, с чего начать (■■■ основная тема ■■■)
1
Maks
Модератор
Эксперт по компьютерным сетямЭксперт HardwareЭксперт Windows
2831 / 1392 / 149
Регистрация: 13.03.2013
Сообщений: 6,633
Записей в блоге: 3
23.01.2018, 11:44 #146
Узнать модель материнской платы или нутбука

Windows Batch file
1
2
3
4
5
6
7
8
9
@echo on
 
::определить производителя материнской платы или ноутбука
wmic baseboard get Manufacturer
 
::определить модель материнской платы или ноутбука
wmic baseboard get product
 
pause


Узнать версию BIOS

Windows Batch file
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
@echo on
 
::отобразить общую информацию о материнской плате компьютера
WMIC BASEBOARD list brief 
 
::отобразить сведения о производителе BIOS
wmic bios get Manufacturer
 
::отобразить версию BIOS
wmic bios get smbiosbiosversion
 
::отобразить описание производителя BIOS
wmic bios get Description
 
pause
1
vavun
Выскочка
Эксперт Windows
9676 / 5087 / 773
Регистрация: 07.04.2013
Сообщений: 14,866
Записей в блоге: 2
23.01.2018, 11:45 #147
Maks, https://blogs.technet.microsoft.com/...-wmic-queries/
0
Maks
Модератор
Эксперт по компьютерным сетямЭксперт HardwareЭксперт Windows
2831 / 1392 / 149
Регистрация: 13.03.2013
Сообщений: 6,633
Записей в блоге: 3
23.01.2018, 11:48 #148
vavun, это конечно познавательно, но большую половину команд лично я не использую в своей работе.
Скрипты, которые я выложил, оптимизируют работу в том плане, что не нужно скидывать крышку системника, или переворачивать ноутбук, чтобы узнать точную модель.
А ведь ее еще нужно переписать на бумажку и вбить в поисковик.
Данные скрипты упраздняют это действие.
0
greg zakharov
Покинул форум
1826 / 741 / 187
Регистрация: 07.05.2015
Сообщений: 1,481
Записей в блоге: 39
09.02.2018, 22:04 #149
Похоже вопросами о запуске чего-либо без попапа UAC на форумах будут донимать многих. Поправить ситуацию можно следующим батей (run.cmd):
Windows Batch file
1
2
3
4
5
6
7
8
9
@echo off
  setlocal
    set "i=0"
    for %%i in (%*) do set /a "i+=1"
    if %i% neq 1 echo:Index is out of range.&goto:eof
    set "__COMPAT_LAYER=RunAsInvoker"
    start "" %1
  endlocal
exit /b
В итоге:
Код
E:\sandbox> run.cmd regedit
Однако это вовсе не значит, что UAC похачен (почему, догадайтесь сами).
Вообще, чтобы не заморачиваться с батниками, можно просто нарисовать макрос:
Код
[cmd.exe]
    run=if "$1" neq "" set "__COMPAT_LAYER=RunAsInvoker"&start "" $1&set __COMPAT_LAYER=
В консоли набрать:
Код
E:\sandbox> doskey /macrofile=E:\config\macro.lst
И пользоваться по мере надобности:
Код
E:\sandbox> run regedit
0
vavun
Выскочка
Эксперт Windows
9676 / 5087 / 773
Регистрация: 07.04.2013
Сообщений: 14,866
Записей в блоге: 2
09.02.2018, 22:31 #150
Твик в догонку Принудительный запуск с обычными правами exe файла требующего прав администратора
0
09.02.2018, 22:31
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.02.2018, 22:31
Привет! Вот еще темы с ответами:

Не запускаются ни bat, ни cmd файлы... - CMD/BAT
Стоит WinXP SP3. В общем захожу в любой bat и cmd файл, а мне все время пишет: Windows не удалось найти 'путь к файлу'. Проверьте, что...

Доступные уроки по CMD/BAT - CMD/BAT
Гугл и Яндекс молчат по этому поводу. Нужны ссылки на доступные (НЕ видео) уроки, чтобы изучить основы (циклы, синтаксис, переходы и т.д.)

Специальные символы в CMD/BAT - CMD/BAT
Добрый вечер. Вопрос по поводу специальных символов в BAT: &lt; , &gt; , &gt;&gt; , /? , * , ? , ; , | , &amp; , &amp;&amp; , || , ( ) , { }, может кто-нибудь...

Парсер txt файла? [CMD/BAT] - CMD/BAT
Добрый вечер. Подскажите, как с помощью BAT пропарсить файл 1.txt, содержащий строки вида: 192.168.102.123 kjdfsd87USHIhf ...


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

Или воспользуйтесь поиском по форуму:
150
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru