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

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

15.10.2012, 00:56. Показов 665806. Ответов 184

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

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

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


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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

184
1782 / 764 / 130
Регистрация: 09.04.2011
Сообщений: 1,327
09.06.2013, 20:16
Студворк — интернет-сервис помощи студентам
Альтернативный вариант определения разрядности ОС по значению реестра
Bash
1
2
3
4
@Echo Off
 
2>nul Reg Query HKLM\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion |Find /i "Installer" >nul && (echo Разрядность ОС: х64) || (echo Разрядность ОС: х86)
pause
Ради прикола можно проверить разрядность х64 и по наличию директории Sysnative в %WinDir%
1
Эксперт WindowsАвтор FAQ
 Аватар для Dragokas
18035 / 7738 / 892
Регистрация: 25.12.2011
Сообщений: 11,502
Записей в блоге: 16
09.06.2013, 23:21  [ТС]
Цитата Сообщение от sov44 Посмотреть сообщение
Ради прикола можно проверить разрядность х64 и по наличию директории Sysnative в %WinDir%
Я раньше проверял саму папку Sysnative и ничего не получалось, а надо было проверять наличие файлов в ней. Поэтому здесь в разделе об этом не писал. Хотя в статье именно так и делал.
Не считаю за прикол, это вполне нормальный способ, но в 100% случаев будет работать только в OS >= Vista* (если не отключить систему редиректа):

Bash
1
if exist "%windir%\Sysnative\*" (echo Разрядность ОС: х86) else (echo Разрядность ОС: х64)
* Sysnative в Windows XP и 2003.
HotFix for Windows 2003 and Windows XP available

There is a hotfix available that backports the "sysnative" alias for Windows 2003 and Windows XP.

A 32-bit application cannot access the system32 folder on a computer that is running a 64-bit version of Windows Server 2003 or of Windows XP

http://support.microsoft.com/kb/942589
2
Клюг
 Аватар для Charles Kludge
7677 / 3192 / 382
Регистрация: 03.05.2011
Сообщений: 8,380
11.06.2013, 00:56
Практическое применение Конвертации даты/времени из/в UNIX-формат - вычисление даты от текущей ±n дней(лишние комменты убраны, см оригинал). Убрано также вычисление времени(для ускорения процесса).
Кликните здесь для просмотра всего текста
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
:@echo off 
setlocal ENABLEEXTENSIONS
call :DateToSecs %date:~-4% %date:~-7,2% %date:~-10,2% secs
 
set /A adj=%1*3600*24
set /A dsecs=secs+adj
 
call :SecsToDate %dsecs% yy mm dd 
echo/Offset from %DATE% by %1 days is: %dd%-%mm%-%yy% 
 
goto :EOF
:DateToSecs %yy% %mm% %dd% secs
setlocal ENABLEEXTENSIONS
set yy=%1&set mm=%2&set dd=%3
if 1%yy% LSS 200 if 1%yy% LSS 170 (set yy=20%yy%) else (set yy=19%yy%)
set /a dd=100%dd%%%100,mm=100%mm%%%100
set /a z=14-mm,z/=12,y=yy+4800-z,m=mm+12*z-3,j=153*m+2
set /a j=j/5+dd+y*365+y/4-y/100+y/400-2472633
set /a j=j*86400
endlocal&set %4=%j%&goto :EOF
goto :EOF
 
:SecsToDate %secs% yy mm dd 
setlocal ENABLEEXTENSIONS
set /a i=%1,ss=i%%60,i/=60,nn=i%%60,i/=60,hh=i%%24,dd=i/24,i/=24
set /a a=i+2472632,b=4*a+3,b/=146097,c=-b*146097,c/=4,c+=a
set /a d=4*c+3,d/=1461,e=-1461*d,e/=4,e+=c,m=5*e+2,m/=153,dd=153*m+2,dd/=5
set /a dd=-dd+e+1,mm=-m/10,mm*=12,mm+=m+3,yy=b*100+d-4800+m/10
(if %mm% LSS 10 set mm=0%mm%)&(if %dd% LSS 10 set dd=0%dd%)
endlocal&set %4=%dd%&set %3=%mm%&set %2=%yy%&goto :EOF
Миниатюры
Полезные BAT/CMD скрипты  
3
Эксперт WindowsАвтор FAQ
 Аватар для Dragokas
18035 / 7738 / 892
Регистрация: 25.12.2011
Сообщений: 11,502
Записей в блоге: 16
01.07.2013, 03:42  [ТС]
Чтение/запись INI-файла
(с несколькими одноименными секциями и параметрами в границах секции)

Автор: Dragokas

Функционал:
- запрос перечня имен всех секций (с отображением кол-ва их повторов)
- запрос перечня имен всех параметров в границах определенной секции (с отображением кол-ва их повторов).
- возможность установки фильтра для запроса только конкретной секции или параметра.
- запрос значения из определенного параметра в конкретной секции.
- запись значения в определенный параметр конкретной секции.
- демонстрационный режим.

Все данные выводятся на экран консоли.

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
@echo off
SetLocal EnableExtensions EnableDelayedExpansion
 
set inifile=settings.ini
 
echo Демонстрация
echo.
echo.Имена всех секций с кол-вом повторов:
call :ini.ShowSections "%inifile%"
::pause
echo.
echo.Кол-во повторов секции [AV]
call :ini.ShowSections "%inifile%" [AV]
::pause
echo.
echo.Имена и кол-во повторов всех параметров 2-й секции [AV]
call :ini.ShowKeys "%inifile%" "[AV]" 2
::pause
echo.
echo.Кол-во повторов параметра ARM во 2-й секции [AV]
call :ini.ShowKeys "%inifile%" "[AV]" 2 ARM
::pause
echo.
echo.Значение 3-го параметра ARM во 2-й секции [AV]
call :ini.ReadKey "%inifile%" "[AV]" 2 ARM 3
::pause
echo.
echo.Запись нового значения в 3-й параметр ARM 2-й секции [AV]
call :ini.WriteKey "%inifile%" "[AV]" 2 ARM 3 "NewValue"
::pause
echo.
echo.Проверка записи: значение 3-го параметра ARM во 2-й секции [AV]
call :ini.ReadKey "%inifile%" "[AV]" 2 ARM 3
 
pause
EndLocal
Exit /B
 
 
:ini.WriteKey
::%1 - путь к файлу
::%2 - имя секции
::%3 - порядковый номер секции (если имеются одноименные), иначе указывайте 1
::%4 - имя параметра
::%5 - порядковый номер параметра (если имеются одноименные), иначе указывайте 1
::%6 - записываемое значение
  SetLocal
  for /f "UseBackQ delims=" %%s in ("%~1") do (
    if Defined BeginRead (
      for /f "tokens=1* delims==" %%k in ("%%s") do (
        set ini.Key.Name=%%k
        call :TrimSpaces "!ini.Key.Name!" " " "ini.Key.Name"
        if /i "!ini.Key.Name!"=="%~4" (
          Set /A ini.Keys.Count+=1
          if !ini.Keys.Count!==%~5 (
            >>"%~1_" echo !ini.Key.Name!=%~6
            set JustWritedValue=true
          )
        )
      )
    )
    if not Defined JustWritedValue (
      echo %%s>>"%~1_"
    ) else (
      set JustWritedValue=
      set BeginRead=
      set LastLines=true
    )
    if not Defined LastLines (
      set ini.Section.Name=%%s
      call :TrimSpaces "!ini.Section.Name!" " " "ini.Section.Name"
      if /i "!ini.Section.Name!"=="%~2" (
        set /A ini.Sections.Count+=1
        if !ini.Sections.Count!==%~3 (
          Set BeginRead=true
        )
      )
    )
  )
  if Defined LastLines >nul copy /y "%~1_" "%~1"
  2>nul del "%~1_"
  EndLocal
Exit /B
 
 
:ini.ReadKey
::%1 - путь к файлу
::%2 - имя секции
::%3 - порядковый номер секции (если имеются одноименные), иначе указывайте 1
::%4 - имя параметра
::%5 - порядковый номер параметра (если имеются одноименные), иначе указывайте 1
  SetLocal
  for /f "UseBackQ delims=" %%s in ("%~1") do (
    if Defined BeginRead (
      for /f "tokens=1* delims==" %%k in ("%%s") do (
        set ini.Key.Name=%%k
        call :TrimSpaces "!ini.Key.Name!" " " "ini.Key.Name"
        if /i "!ini.Key.Name!"=="%~4" (
          Set /A ini.Keys.Count+=1
          if !ini.Keys.Count!==%~5 (
            Set ini.Value=%%l
            call :TrimSpaces "!ini.Value!" " " "ini.Value"
            echo.!ini.Value!
            EndLocal
            Exit /B
          )
        )
      )
    ) else (
      set ini.Section.Name=%%s
      call :TrimSpaces "!ini.Section.Name!" " " "ini.Section.Name"
      if /i "!ini.Section.Name!"=="%~2" (
        set /A ini.Sections.Count+=1
        if !ini.Sections.Count!==%~3 (
          Set BeginRead=true
        )
      )
    )
  )
  EndLocal
Exit /B
 
 
:ini.ShowKeys
::%1 - путь к файлу
::%2 - имя секции
::%3 - порядковый номер секции (если имеются одноименные), иначе указывайте 1
::%4 - (опционально) - имя параметра
  SetLocal
  set ini.Keys.Count=0
  for /f "UseBackQ delims=" %%s in ("%~1") do (
    set ini.Section.Name=%%s
    if "!ini.Section.Name:~0,1!"=="[" if Defined BeginRead goto ext_ShowKeys
    if Defined BeginRead (
      for /f "tokens=1* delims==" %%k in ("%%s") do (
        set ini.Key.Name=%%k
        call :TrimSpaces "!ini.Key.Name!" " " "ini.Key.Name"
        if "%~4"=="" (set seekKey=!ini.Key.Name!) else (set seekKey=%~4)
        if /i "!ini.Key.Name!"=="!seekKey!" (
          rem Количество параметров с одинаковым именем
          rem set /A ini.Keys["%%k"].Count+=1
          call set n_Keys=%%ini.Keys["!ini.Key.Name!"].Count%%
          set /A n_Keys+=1
          set ini.Keys["!ini.Key.Name!"].Count=!n_Keys!
          if not Defined ini.Keys["!ini.Key.Name!"] (
            set ini.Keys["!ini.Key.Name!"]=true
            set /A ini.Keys.Count+=1
            set ini.Keys[!ini.Keys.Count!].Name=!ini.Key.Name!
          )
        )
      )
    ) else (
      call :TrimSpaces "!ini.Section.Name!" " " "ini.Section.Name"
      if /i "!ini.Section.Name!"=="%~2" (
        set /A ini.Sections.Count+=1
        if !ini.Sections.Count!==%~3 (
          Set BeginRead=true
        )
      )
    )
  )
  :ext_ShowKeys
  for /L %%C in (1,1,!ini.Keys.Count!) do (
    set Key.Name=!ini.Keys[%%C].Name!
    call echo %%ini.Keys["!Key.Name!"].Count%% !Key.Name!
  )
  EndLocal
Exit /B
 
 
:ini.ShowSections
::%1 - путь к файлу
::%2 - (опционально) - имя секции
  SetLocal
  set ini.Sections.Count=0
  for /f "UseBackQ delims=" %%s in ("%~1") do (
    set ini.Section.Name=%%s
    call :TrimSpaces "!ini.Section.Name!" " " "ini.Section.Name"
    if "!ini.Section.Name:~0,1!"=="[" (
      if "%~2"=="" (set seekSection=!ini.Section.Name!) else (set seekSection=%~2)
      if /i "!ini.Section.Name!"=="!seekSection!" (
        rem Количество секций с одинаковым именем
        rem set /A ini.Sections["%%s"].Count+=1
        call set n_Sections=%%ini.Sections["!ini.Section.Name!"].Count%%
        set /A n_Sections+=1
        set ini.Sections["!ini.Section.Name!"].Count=!n_Sections!
        if not Defined ini.Sections["!ini.Section.Name!"] (
          set ini.Sections["!ini.Section.Name!"]=true
          set /A ini.Sections.Count+=1
          set ini.Sections[!ini.Sections.Count!].Name=!ini.Section.Name!
        )
      )
    )
  )
  for /L %%C in (1,1,!ini.Sections.Count!) do (
    set Section.Name=!ini.Sections[%%C].Name!
    call echo %%ini.Sections["!Section.Name!"].Count%% !Section.Name!
  )
  EndLocal
Exit /B
 
::Удаляет слева и справа лишние пробелы, или другие подряд идущие символы, заданные переменной %2 (Symbol)
:TrimSpaces
::%1-in.String
::%2-in.Symbol
::%3-out.String.Variable
  Set "%~3="
  Set "_String=%~1"
  if "%_String%"=="" Exit /B
  :Begin_Trim_Left
    if "%_String:~0,1%"=="%~2" (set "_String=%_String:~1%"& Goto Begin_Trim_Left)
  if "%_String%"=="" Exit /B
  :Begin_Trim_Right  
    if "%_String:~-1%"=="%~2" (set "_String=%_String:~0,-1%"& Goto Begin_Trim_Right)
  set "%~3=%_String%"
Exit /B
Исходник, на чем тестил

Цитата Сообщение от settings.ini
[AV]
name = Ka28,Ka31
type_TP = 1
non-stand = 1
Vpos = 0
aK = 40
aG = 18
d = 0
uK = 5.0
uG = 1.5
cource = 353.65
arm = 600
default = 2
[GL]
glide1 = 3.75
distance1 = 0
KodTr380 = 1
prPosADRM = 0
[GL]
glide1 = 1.7833
distance1 = 1000
glide2 = 4.3
KodTr380 = 2
prPosADRM = 1
[GL]
glide1 = 4
distance1 = 0
KodTr380 = 1
prPosADRM = 0
[GL]
glide1 = 2.7
distance1 = 0
KodTr380 = 1
prPosADRM = 0

[AV]
name = MiG-29
type_TP = 0
non-stand = 0
Vpos = 220
aK = 40
aG = 18
d = 3500
uK = 5.0
uG = 1.5
cource = 353.65
arm = 600
default = 2
arm = 700
arm = 800
d = 3600
arm = 900
arm = 1000
uK = 6.0
Миниатюры
Полезные BAT/CMD скрипты  
Вложения
Тип файла: rar ini.rar (1.8 Кб, 203 просмотров)
4
Эксперт WindowsАвтор FAQ
 Аватар для Dragokas
18035 / 7738 / 892
Регистрация: 25.12.2011
Сообщений: 11,502
Записей в блоге: 16
22.07.2013, 00:28  [ТС]
Добавление папки c:\MinGW\bin в системную переменную окружения Path

Алгоритм работы:
  • Проверяет, запускается ли gcc
  • Проверяет права для запуска
  • Проверяет, существует ли добавляемая папка
  • Если нет, предлагает варианты: все равно продолжить, либо выбрать другое расположение папки
  • Отображает содержимое Path до и после операции
  • В конце проверяет, запускается ли gcc

Если MinGW* установлен в другую папку, можно сразу ее изменить в строке № 6.
* MinGW - это компилятор C++.

Кликните здесь для просмотра всего текста
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
:: This Batch file will add c:\MinGW\bin folder to the System Environment "Path"
@echo off
SetLocal EnableDelayedExpansion
set Key=HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment
 
set FolderToAdd=c:\MinGW\bin\
 
echo Проверка запуска gcc.exe ...
call :CheckGCC && (
  if "%~1"=="" (
    echo MinGW binary уже добавлена к Path.
    echo.
    pause& goto :eof
  ) else (
    echo MinGW binary была успешно добавлена к Path.
    echo.
    pause& goto :eof
  )
) || (
  if "%~1"=="" (
    echo MinGW пока не добавлена к Path.
    echo Запускаю процедуру...
    echo.
  ) else (
    echo MinGW binary не удалось добавить к Path.
    echo Возможно, требуется перезагрузка.
    echo.
    pause& goto :eof
  )
)
 
call :CheckPrivileges
 
:CheckExists
if not exist "%FolderToAdd%" (
  echo Папка "%FolderToAdd%" не существует.
  set ch=y
  set /p "ch=Все равно продолжить? (Y/N) "
  if /i "!ch!"=="N" (
    set /p "ch=Хотите ввести новое расположение папки? (Y/N) "
    if /i "!ch!"=="N" (
      goto :eof
    ) else (
      set /p "FolderToAdd=Ожидаю ввода новой папки для добавления к Path > "
      goto :CheckExists      
    )
  )
)
echo До:
path
echo.
:: Получаем текущее значение Path
For /f "tokens=2*" %%a In ('Reg.exe query "%key%" /v Path^|Find "Path"') do set "CurPath=%%~b"
:: Создаем перманентный бекап содержимого Path
if not exist "%temp%\Path_Backup.txt" echo.%CurPath%>"%temp%\Path_Backup.txt"
:: Добавляем к Path
echo Y|reg.exe add "%Key%" /v Path /t REG_EXPAND_SZ /d "%CurPath%;%FolderToAdd%"
:: Эта команда содержит API для обновления пользовательских настроек Path
:: Судя из обсуждения [url]https://www.cyberforum.ru/cmd-bat/thread674821.html#post4499399[/url]
:: это должно быть сейфово
:: 1. Для >= Vista
setx temp "%temp%"
:: 2. Для <= XP без SP ?
rundll32 user32.dll,UpdatePerUserSystemParameters
echo.
echo Операция завершена.
Echo.
echo После:
echo.
For /f "tokens=2*" %%a In ('Reg.exe query "%key%" /v Path^|Find "Path"') do echo Path=%%~b
echo.
pause
start cmd /c "%~f0" check
::<nul set /p x=Operation compeleted. Closing...
::For /L %%C in (5,-1,1) do <nul set /p x=%%C.&1>nul 2>&1 ping 127.1 -n 2
goto :eof
 
:CheckPrivileges
  sfc /? |>nul find /i "/scannow"&& set errorlevel=0
  if %errorlevel% neq 0 (
    echo Требуются повышенные права, чтобы выполнить эту операцию.
    rem echo Press {ENTER} to continue.
    rem pause >nul
    Echo CreateObject^("Shell.Application"^).ShellExecute WScript.Arguments^(0^),"","","runas",1 >"%~dp0Elevating.vbs"
    cscript.exe //nologo "%~dp0Elevating.vbs" "%~dpnx0"
    Exit
  ) else (
  >nul 2>&1 del "%~dp0Elevating.vbs"
Exit /B
)
 
:CheckGCC
  gcc --help >nul 2>&1
Exit /B %errorlevel%
Вложения
Тип файла: rar MinGW_Path.rar (1.5 Кб, 184 просмотров)
1
Эксперт WindowsАвтор FAQ
 Аватар для Dragokas
18035 / 7738 / 892
Регистрация: 25.12.2011
Сообщений: 11,502
Записей в блоге: 16
10.08.2013, 18:06  [ТС]
Удаление с рабочего стола всех TXT файлов.
Для удаления с рабочего стола, нужно сначала определить, где он находится (в разных локализациях XP и Win7 по-разному).
Можно средствами JScript-a получить это расположение однозначно:

Bash
1
2
3
4
5
6
7
8
@set @x=0; /*
@echo off
SetLocal EnableExtensions
For /F "delims=" %%? in ('cscript //nologo /e:jscript "%~f0"') do set desktop=%%?
echo del /F /Q "%desktop%\*.txt"
pause
exit /B
*/WScript.echo (new ActiveXObject("Wscript.Shell").SpecialFolders("Desktop"));
Для боевого запуска (удаление *.txt файлов) убрать echo.
1
 Аватар для MihaniX
140 / 50 / 2
Регистрация: 06.08.2013
Сообщений: 292
Записей в блоге: 4
14.08.2013, 20:23
Очень полезная команда: POWERCFG
Подробности powercfg /?

Прим. от Dragokas:

Не по теме:

хотя бы какие-то примеры в этот раздел давайте.


Отключение спящего режима в Windows 7 и удаление файла hiberfil.sys

Многих пользователей Windows 7 волнует вопрос, как удалить файл hiberfil.sys. Вполне естественно, ведь этот файл занимает довольно много места на жестком диске – иногда несколько гигабайт.

Файл hiberfil.sys создается операционной системой для функционирования спящего режима. При переходе компьютера в спящий режим Windows сбрасывает содержимое оперативной памяти на жёсткий диск – в файл hiberfil.sys, а при включении загружает этот файл в память.

Если вы не пользуетесь спящим режимом, то:

1. Войдите в Windows 7 с правами администратора.
2. Откройте Панель управления -> Электропитание -> Настройка перехода в спящий режим.
3. В раскрывающемся списке «Переводить компьютер в спящий режим» выберите «Никогда» и сохраните изменения.
4. Запустить командную строку с повышенными правами
5. Введите команду
Bash
powercfg -h off
или
Bash
powercfg –hibernate –off
После это файл hiberfil.sys в корне системного раздела можно удалить.
2
37 / 0 / 0
Регистрация: 16.08.2013
Сообщений: 4
16.08.2013, 18:27
Создание серии скриншотов с помощью IrfanView

Вначале надо скопировать i_view32.exe с *.ini-файлом в C:\windows
Потом создать MakePics.bat
Bash
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
rem @echo off
setlocal enabledelayedexpansion EnableExtensions
set task=i_view32.exe
::Префикс имени файла
set filename=pic_
::Количество картинок
set count=9999
 
For /L %%? in (1 1 %count%) do (
  set num=000%%?
  set num=!num:~-4!
  set FN=%filename%!num!.jpg
  start "" "%task%" "/capture=1" "/convert=$U(%%Y_%%m_%%d)\$U(%%H.%%M)\!FN!"
  cscript //nologo sleep.js 300
)
Параметр "/capture=1" указывает на то, что надо сделать скрин всего экрана, если поменять на 2, сделает скрин активного окна.
"/convert=$U(%%Y_%%m_%%d)\$U(%%H.%%M)\ просто создает папки, используя шаблоны имен(см.справку к IrfanView), которые поддерживаются программой. Каждую минуту программа будет продолжать сохранение скринов в отдельную папку. Это сделано, чтоб можно было отключить скрипт и при повторном включении через минуту он не начал заново все сохранять в старое место, затирая предыдущие файлы).

cscript //nologo sleep.js 300 - эта строка запускает скрипт, дающий задержку перед каждым запуском программы, 300 - это задержка 300мс.

Вот этот скрипт sleep.js
JavaScript
1
2
3
4
if(WScript.Arguments.Unnamed.length){
  var milliseconds=WScript.Arguments.Unnamed(0);
  WScript.Sleep(milliseconds);
}
Когда скрины готовы, их надо спихнуть в одну папку, чтоб номера шли по очереди от начала до конца и запустить программку x264.
Вот файл для запуска этой программы MakeVideo.bat
Bash
1
x264 --fps 3 --sar 640:480 -o vid.mkv "pic_%%04d.jpg"
x264 можно скачать отсюда http://download.videolan.org/pub/x264/binaries
--fps это число кадров в секунду, в нашем примере скрины создавались каждые 300 мс, значит, в секунду 3 штуки выходит, но можно и с другой скоростью кадров все проделать, я поставил 3 для "реалистичности"))
Кстати, x264 обычно используется для сжатия видео, там есть короткая и понятная справка, если вдруг понадобится --h.
0
Эксперт WindowsАвтор FAQ
 Аватар для Dragokas
18035 / 7738 / 892
Регистрация: 25.12.2011
Сообщений: 11,502
Записей в блоге: 16
25.08.2013, 22:11  [ТС]
Поиск папок в корне всех физических дисков по части имени

Когда дисков много и уже не помнишь, куда закинул папку
Оформлено в виде меню, с быстрым переходом к найденной папке по номеру.

Bash
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
@echo off
SetLocal EnableExtensions EnableDelayedExpansion
Set /p "Seek=Введите часть имени искомой папки: "
For /F "tokens=2 delims==" %%D in ('wmic logicaldisk where drivetype^=3 get caption /value^| find /i "Caption"') do (
  set Disk=%%D
  set Disk=!Disk:~0,2!
  set Again=
  for /f "delims=" %%? in ('dir /B /AD "!Disk!\*" ^| find /i "%Seek%"') do (
    if not Defined Again (
      set Again=true
      echo.
      echo Drive !Disk!
      echo ============      
    )
    Set /A C+=1
    Set Folder.!C!=!Disk!\%%?
    echo !C!. %%?
))
Echo.
:select
set /p "ch=Выберите № папки для перехода: "
start "" "!Folder.%ch%!"
goto select
2) Тоже самое, но для поиска папок 1-2 уровня вложенности (ищет имя корневой и имя одного из её подкаталогов)

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

Windows Batch file
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
@echo off
SetLocal EnableExtensions EnableDelayedExpansion
Set /p "Seek=Введите часть имени искомой папки: "
For /F "tokens=2 delims==" %%D in ('wmic logicaldisk where drivetype^=3 get caption /value^| find /i "Caption"') do (
  echo Disk=%%D
  set Disk=%%D
  set Disk=!Disk:~0,2!
  set Again=
  for /f "delims=" %%? in ('dir /B /AD "!Disk!\*"') do (
    for /f "delims=" %%+ in ('2^>NUL dir /B /AD "!Disk!\%%?\*" ^| find /i "%Seek%"') do (
      if not Defined Again (
        set Again=true
        echo.
        echo Drive !Disk!
        echo ============      
      )
      Set /A C+=1
      Set Folder.!C!=!Disk!\%%?\%%+
      echo !C!. !Disk!\%%?\%%+
)))
Echo.
:select
set /p "ch=Выберите № папки для перехода: "
start "" "!Folder.%ch%!"
goto select
Миниатюры
Полезные BAT/CMD скрипты  
3
Эксперт WindowsАвтор FAQ
 Аватар для Dragokas
18035 / 7738 / 892
Регистрация: 25.12.2011
Сообщений: 11,502
Записей в блоге: 16
08.09.2013, 15:42  [ТС]
Пример монтирования ISO-образа с помощью Daemon Tools Lite

Алгоритм:
Определение, установлен ли Daemon Tools
Определение, буквы привода
Если ее нет, устанавливаем драйвер DT
Размонтируем предыдущий образ, монтируем новый.

В коде использован скрипт получения информации о дисках DriveTypes.vbs от Rob van der Woude Источник

Весь процесс можно заменить предусмотренными в руководстве DT командами ком.строки:

Bash
DTLite.exe -get_count dt
DTLite.exe -get_letter dt, 1
За исключением одной "проблемки". В последней версии DT Lite эти команды ничего не возвращают. Вот поэтому выручает батник.

14.07.2017 - скрипт обновлён.
Вложения
Тип файла: zip Mount ISO.zip (4.3 Кб, 101 просмотров)
1
Эксперт WindowsАвтор FAQ
 Аватар для Dragokas
18035 / 7738 / 892
Регистрация: 25.12.2011
Сообщений: 11,502
Записей в блоге: 16
08.09.2013, 15:56  [ТС]
Как смонтировать образ ISO, используя связку CMD/PowerShell

Совместимость: только Windows 8
Источник: stackoverflow.com
http://blogs.technet.com/b/hey... -blog.aspx
http://technet.microsoft.com/e... 48706.aspx

Bash
1
2
3
4
5
6
7
8
set WindowsISO=c:\Windows7.ISO
 
ECHO -Mounting Original Windows ISO File-
powershell.exe "Mount-DiskImage ""%WindowsISO%"""
FOR /F "skip=3" %%I IN ('powershell.exe "Get-DiskImage """%WindowsISO%""" | Get-Volume | Select-Object {$_.DriveLetter}"') DO echo Disk %%I
pause
ECHO -Unmounting Original Windows ISO File-
powershell.exe "Dismount-DiskImage ""%WindowsISO%"""
1
Эксперт WindowsАвтор FAQ
 Аватар для Dragokas
18035 / 7738 / 892
Регистрация: 25.12.2011
Сообщений: 11,502
Записей в блоге: 16
11.09.2013, 23:52  [ТС]
Autogate — резервирование интернет-канала автопереключением шлюзов
2
Эксперт WindowsАвтор FAQ
 Аватар для Dragokas
18035 / 7738 / 892
Регистрация: 25.12.2011
Сообщений: 11,502
Записей в блоге: 16
25.09.2013, 14:34  [ТС]
Полезная информация для пользователей MS Windows
4
Эксперт WindowsАвтор FAQ
 Аватар для Dragokas
18035 / 7738 / 892
Регистрация: 25.12.2011
Сообщений: 11,502
Записей в блоге: 16
29.09.2013, 14:10  [ТС]
Administering a Server Core installation (TechNet)

Наборы команд с комментариями для:
  • Configuration and installation
  • Networking and firewall
  • Updates and error reporting
  • Services, processes and performance
  • Event logs
  • Disk and file system
  • Hardware
  • Remote administration
2
Эксперт WindowsАвтор FAQ
 Аватар для Dragokas
18035 / 7738 / 892
Регистрация: 25.12.2011
Сообщений: 11,502
Записей в блоге: 16
26.10.2013, 21:30  [ТС]
Шаблон батника из контекстного меню "Создать"

Автор: Koza Nozdri & Dragokas

Установщик

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
@echo off
Chcp 866 >nul
  title  Пункт меню "Создать..."
  SetLocal EnableExtensions
 
ver |>NUL find "6." && if "%1" neq "Admin" call :elevate
chdir /d "%~dp0"
 
(
  echo @echo off
  echo SetLocal EnableExtensions EnableDelayedExpansion
  echo Chcp 866 ^>nul
  echo title text title
  echo cd /d "%%~dp0"
  echo.
  echo.
  echo.
  echo pause
  echo exit /B
) > "%~dp0new.bat"
 
md %systemdrive%\Windows\ShellNew 2>NUL
copy /y "%~dp0new.bat" %systemdrive%\Windows\ShellNew\
reg.exe add "HKCR\.bat\ShellNew" /ve /f
reg.exe add "HKCR\.bat\ShellNew" /v FileName /d New.bat /f
del /q "%~dp0new.bat"
cls
Echo Пункт создан,перезагрузите компьютер.
Echo Для выхода нажмите Enter
pause>nul
Exit /B
 
:Elevate
  Echo CreateObject^("Shell.Application"^).ShellExecute WScript.Arguments^(0^),"Admin","","runas",1 >"%~dp0Elevating.vbs"
  cscript.exe //nologo "%~dp0Elevating.vbs" "%~dpnx0"
  del "%~dp0Elevating.vbs"
Exit

Сам шаблон получается таким

Bash
1
2
3
4
5
6
7
8
9
10
@echo off
SetLocal EnableExtensions EnableDelayedExpansion
Chcp 866 >nul
title text title
cd /d "%~dp0"
 
 
 
pause
exit /B

Комментарий к шаблону

Bash
@echo off
::Включаем режим выполнения команд без сообщений
 
SetLocal
:: Включение локализации изменений среды в пакетном файле
:: Чтобы изменение переменных в этом батнике не влияли на другие батники, запускаемые по цепочке.
:: Для быстрого обнуления всех переменных (особенно актуально для псевдо-массивов), используя команду EndLocal
 
SetLocal EnableExtensions
:: разрешение использовать дополнительных ключей команд (например FOR /F) и других защит от дурака,
:: например, переход в папку с пробелами без указания кавычек в пути (например CD My Tools)
 
SetLocal EnableDelayedEpansion
:: Возможность получить актуальное значение переменной внутри цикла или блока команд,
:: например указывая вместо %time% знаки восклицания !time!
 
Chcp 866 >nul
:: Включение кодировки 866 для того что бы русский текст не был кракозябрами в сценарии
 
title text title
:: Значение после первого слова title  будет отображаться в названии исполняемого пакетного файла
 
cd /d "%~dp0"
:: Переход в текущий каталог,сокращает код с параметрами типа del bat.bat вместо del %~dp0bat.bat
::То есть при работе с файлами в папке с bat сценарием не надо дописывать аргументы
:: И при этом вы не рискуете по ошибке запороть систему командой типа: del bat.bat
::Не имеющей в скрипте аргумента cd /d "%~dp0"
 
pause
:: До того как будет написана финальная версия кода команда pause будет полезная для выявления ошибок и багов
::Либо для принятия решения о доработке кода
 
exit /B
Выход из текущего пакетного сценария.
Миниатюры
Полезные BAT/CMD скрипты  
Вложения
Тип файла: zip CreateBAT.zip (683 байт, 303 просмотров)
7
Эксперт WindowsАвтор FAQ
 Аватар для Dragokas
18035 / 7738 / 892
Регистрация: 25.12.2011
Сообщений: 11,502
Записей в блоге: 16
09.11.2013, 02:41  [ТС]
Поиск значения в реестре. Экспорт найденных веток и протоколирование.

Работает весьма медленно - используется чистый CMD - reg.exe.

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

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
@set @x=0; /*
@echo off
SetLocal EnableExtensions EnableDelayedExpansion
cd /d "%~dp0"
mode con cols=140
 
call :About
 
ver | find "6." && if /i "%~1" neq "Admin" cscript.exe //nologo //e:jscript "%~f0"& Exit
echo.
 
Set /p "WhatValue=Enter the value you want to find > "
cls
 
call :About
 
set destFolder=Reg_Result\%WhatValue%
set log=%destFolder%\FindRegValues.log
 
rd "%destFolder%" /S /Q 2>NUL
md "%destFolder%" 2>NUL
 
echo Value: %WhatValue%
echo.
echo Please wait...
echo.
 
For %%? in (
  HKEY_CLASSES_ROOT
  HKEY_CURRENT_USER
  HKEY_LOCAL_MACHINE
  HKEY_USERS
  HKEY_CURRENT_CONFIG
) do (
  Call :SeekHive %%?
  call :BackUP %%?
)
 
echo.
pause
Exit /B
 
 
:SeekHive [Hive Name]
  set pos=0
  set keyN=0
  echo [%~1]
  echo [%~1]>> "%log%"
  For /F "delims=" %%? in (
    'reg query "%~1" /F "%WhatValue%" /S /D') do (
    echo %%?>> "%log%"
    echo %%?
  )
exit /B
 
:Backup
  For /F "delims=" %%? in ('findstr /RC:"^%~1.*" "%log%"') do (
    set /A KeyN+=1
    reg export "%%?" "%destFolder%\!KeyN!.reg" /y 2>NUL 1>&2
  )
Exit /B
 
:About
  echo Registry Value Seeking Tool by Dragokas
  echo.
  echo - Searching the value in Registry
  echo - No case sensitive
  echo - Just in Values
  echo - Backup all routines where this value was fouded.
  echo.
Exit /B
 
*/new ActiveXObject('Shell.Application').ShellExecute (WScript.ScriptFullName,'Admin','','runas',1);
4
Заблокирован
18.11.2013, 06:23
Для тех кто пользуеться модемом MTS-E171
я придумал батник который отключает лишний процес OUC

Kill OUC
Bash
1
2
3
4
taskkill /f /IM ouc.exe 
DEL /F /Q "%USERPROFILE%\AppData\Roaming\Connect Manager\ouc.exe"
DEL /F /Q "%USERPROFILE%\AppData\Roaming\Connect Manager\LiveUpdate.ini"
REG DELETE HKCU\Software\Microsoft\Windows\CurrentVersion\Run /f /v "HW_OPENEYE_OUC_Connect Manager"
3
Супер-модератор
Эксперт 1СЭксперт по компьютерным сетямЭксперт HardwareЭксперт Windows
 Аватар для Maks
9599 / 5346 / 629
Регистрация: 13.03.2013
Сообщений: 18,733
Записей в блоге: 50
20.11.2013, 16:00
Получение данных о конфигурации компьютеров а Activ Directory

Совместимость: Windows XP / 7 ru x32, x64.

Для чего это нужно
Когда в сети более 30 компьютеров и Вам необходимо узнать конфигурацию каждого из них, не отвлекая людей от работы и не утруждая себя бегать по всем компьютерам. Работает при наличии сервера Activ Directory, в качестве альтернативы можно использовать сервер администрирования Касперского (проверено).

Развернуть код
Windows Batch file
1
if not exist \\10.10.10.10\Share\%COMPUTERNAME%.csv ( \\10.10.10.10\dst\everest.exe /R \\10.10.10.10\Share\%COMPUTERNAME%.csv /CSV /CUSTOM \\10.10.10.10\dst\everest.exe\report_for_itil.rpf ) else exit

Пояснение кода
\\10.10.10.10\Share\ - сетевая папка с общим доступом, куда будут складываться файлы с отчетом о конфигурации;
%COMPUTERNAME%.csv - файл с отчетом, где вместо "%COMPUTERNAME%" будет сетевое имя компьютера;
\\10.10.10.10\dst\everest.exe - путь к каталогу с исполняемым файлом "everest", кстати говоря, можно также использовать и "aida".

Скачать

Everest
AIDA64
report_for_everest.zip - сам батник.
1
Эксперт WindowsАвтор FAQ
 Аватар для Dragokas
18035 / 7738 / 892
Регистрация: 25.12.2011
Сообщений: 11,502
Записей в блоге: 16
25.11.2013, 02:07  [ТС]
Отображение сообщения MSG в несколько строк из батника в кодировке OEM-866

MSG воспринимает сообщения в кодировке Win-1251, поэтому ... написал такое:
Название: msg.png
Просмотров: 4247

Размер: 10.9 Кб

Bash
1
2
3
4
5
6
7
8
9
10
11
12
@echo off
SetLocal EnableExtensions
call :msg "Строка № 1 \nСтрока № 2"
pause
Exit /B
 
:msg
  chcp 866 >NUL& for /F "delims=" %%a in ("%~1") do chcp 1251 >NUL& call :convert "%%~a"& chcp 866 >NUL& Exit /B
:convert
  set "text=%~1"
  (@for %%a in ("%text:\n=" "%") do @echo.%%~a) | msg *
Exit /B
Чтобы имитировать перенос каретки, используйте \n, как в примере.
4
Эксперт WindowsАвтор FAQ
 Аватар для Dragokas
18035 / 7738 / 892
Регистрация: 25.12.2011
Сообщений: 11,502
Записей в блоге: 16
05.01.2014, 21:14  [ТС]
Определение версии установленной Java
Windows Batch file
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
@echo off
SetLocal EnableExtensions
:: Определяю путь к Program Files. Если система 64-битная, полуучаю путь к 32-битной папке.
if Defined ProgramFiles(x86) (set "java_root=%ProgramFiles(x86)%\Java") else (set "java_root=%ProgramFiles%\Java")
:: Ищу последнюю версию папки с файлом java.exe
For /F "delims=" %%a in ('dir /B /S /A-D "%java_root%\java.exe" 2^>NUL') do set "java_path=%%~dpa"
:: Если такой нет, пишу java_ver=NOT INSTALLED
if not Defined java_path (set "java_ver=NOT INSTALLED"& goto ext_for)
pushd "%java_path%"
:: Парсим вывод из потока ошибок команды java -version
for /F "tokens=3" %%a in ('java -version 2^>^&1') do set "java_ver=%%~a"& goto ext_for
:ext_for
popd
echo JAVA Version is %java_ver%
pause
2
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
05.01.2014, 21:14
Помогаю со студенческими работами здесь

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

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
60
Ответ Создать тему
Новые блоги и статьи
[golang] Угол между стрелками часов
alhaos 12.05.2026
По заданным значениям часа и минуты необходимо определить значение меньшего угла между стрелками аналогового циферблата часов. import "math" func angleClock(hour int, minutes int) float64 { . . .
Debian 13: Установка Lazarus QT5
ВитГо 09.05.2026
Эта инструкция моя компиляция инструкций volvo https:/ / www. cyberforum. ru/ blogs/ 203668/ 10753. html и его же старой инструкции по установке Lazarus с gtk2. . .
Нейросеть на алгоритме "эстафета хвоста" как перспектива.
Hrethgir 06.05.2026
На десерт, когда запущу сервер. Статья тут https:/ / habr. com/ ru/ articles/ 1030914/ . Автор я сам, нейросеть только помогает в вопросах которые мне не известны - не знаю людей которые знали-бы. . .
Асинхронный приём данных из COM-порта
Argus19 01.05.2026
Асинхронный приём данных из COM-порта Купил на aliexpress термопринтер QR701. Он оказался странным. Поключил к Arduino Nano. Был очень удивлён. Наотрез отказывается печатать русские буквы. Чтобы. . .
попытка написать игровой сервер на C++
pyirrlicht 29.04.2026
попытка написать игровой сервер на плюсах с открытым бесконечным миром. возможно получится прикрутить интерпретатор питон для кастомизации игровой логики. что есть на текущий момент:. . .
Контроль уникальности выбранного документа-основания при изменении реквизита
Maks 28.04.2026
Алгоритм из решения ниже разработан на примере нетипового документа "ЗаявкаНаРемонтСпецтехники", разработанного в КА2. Задача: уведомлять пользователя, если указанная заявка (документ-основание). . .
Благородство как наказание
Maks 24.04.2026
У хорошего человека отношения с женщинами всегда складываются трудно. А я человек хороший. Заявляю без тени смущения, потому что гордиться тут нечем. От хорошего человека ждут соответствующего. . .
Валидация и контроль данных табличной части документа перед записью
Maks 22.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в КА2. Задача: контроль и валидация данных табличной части документа перед записью с учетом регламента компании. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru