Форум программистов, компьютерный форум, киберфорум
Наши страницы
Batch (CMD/BAT)
Войти
Регистрация
Восстановить пароль
Другие темы раздела
CMD/BAT Предложения по совершенствованию раздела и закреплению в "ВАЖНЫЕ" новых тем http://www.cyberforum.ru/cmd-bat/thread671223.html
Есть предложение создать несколько тем "закрепленных наверху раздела" с такими названиями: 1) Полный перечень всех встроенных команд 1.1. Описание функционала. 1.2. Список ключей и их...
CMD/BAT Что за вирус?
У себя на компьютере обнаружил bat вирус... Подскажите что он делает Код удален.
CMD/BAT Копирование на флешку папки, имя которой меняется
Имеется папка на рабочем столе "Данные (14.10.2012)" Завтра она будет "Данные (15.10.2012)" итд. Как создать сценарий, который будет копировать ее содержимое в корневище флэшки (тоесть не саму папку...
CMD/BAT Получить список пользователей из AD active directory групп имеется около 50 нужно получить список групп и пользователей в них в CMD net group manager net group Непонятно кто ..итд И так 50 групп, как минимум - неудобно) http://www.cyberforum.ru/cmd-bat/thread670471.html
CMD/BAT Скрипт в Windows XP работает правильно, а в Windows 7 — неправильно http://www.cyberforum.ru/cmd-bat/thread670084.html
Здравствуйте! Проблема следующая, в Windows XP скрипт отрабатывает правильно: Распаковывает архив, затем переходит в папку где лежит распакованный файл и переименовывает его, дописывая ".txt". Файлы...
Копирование с заменой CMD/BAT
Всем доброе утро. Господа специалисты в этой области, прошу Вас помочь, поскольку в этом практически ничего не понимаю, но знаю что вполне реально. Мне нужно вот такой вот .bat файлик: ...
CMD/BAT Синхронизация содержимого нескольких папок
Здравствуйте. Есть у меня .bat-файл, который выполняет синхронизацию содержимого нескольких папок. Точнее сказать, резервное копирование, а не синхронизацию, т.к. копируются файлы всегда в...
CMD/BAT Считывание информации о компьютере -Название процессора (название и Ghz) -видяхи (название и скоко МБ) -опиративы (тип и скоко GB) -разрядность системы -какая винда. Добавлено через 2 часа 14 минут -Название процессора... http://www.cyberforum.ru/cmd-bat/thread669693.html
CMD/BAT При завершении процесса перезапускать его через 60 секунд http://www.cyberforum.ru/cmd-bat/thread669236.html
Добрый день гуру cmd.)) Помогите пожалуйста сделать так чтоб если процесс завершает работу, то bat файл запускает этот процесс заново через 60 секунд. Я не имею ни малейшего понятия о cmd но по...
CMD/BAT Ошибка при работе с файлами, имена которых содержат пробелы Данный код изменяет размер картинок в текущей папке. Но если в названии картинки есть пробел, то эта картинка игнорируется. Как это можно исправить? @echo off set pict=*.png,*.jpg,*.ico,*.gif... http://www.cyberforum.ru/cmd-bat/thread669136.html
Dragokas
Эксперт WindowsАвтор FAQ
17099 / 7154 / 861
Регистрация: 25.12.2011
Сообщений: 10,954
Записей в блоге: 16
11.02.2013, 17:34  [ТС] 0

Каталог простых примеров решенных задач BAT/CMD, с чего начать (■■■ основная тема ■■■)

11.02.2013, 17:34. Просмотров 316130. Ответов 39
Метки (Все метки)

Ответ

Таймер
(с отображением миллисекунд)

Кликните здесь для просмотра всего текста
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
@echo off
Setlocal EnableDelayedExpansion
 
Call :Timer Start
pause
Call :Timer End
 
pause>nul
goto :eof
 
:Timer
  if "%~1"=="Start" (
    Set StartTime=%time%
    Echo Время запуска    !StartTime!
  ) else (
    Set EndTime=%time%
    Echo Время завершения !EndTime!
    Call :TimeElapsed "%StartTime%" "!EndTime!" ret
    Echo Прошло                  !ret! c.
  )
exit /B
 
:TimeElapsed %1-StartTime %2-EndTime %3-var_result
  Call :TimeToMSec "%~1" TimeS_ms
  Call :TimeToMSec "%~2" TimeE_ms
  Set /A diff=TimeE_ms-TimeS_ms
  Set /A diffSS=diff/100
  Set /A diffms=%diff% %% 100
  if "%diffms:~1%"=="" Set diffms=0%diffms%
  Set %3=%diffSS%,%diffms%
Exit /B
 
:TimeToMSec %1-Time 2-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


Такой таймер увидел у einstein1969

Кликните здесь для просмотра всего текста
Bash
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
@echo off
setlocal EnableDelayedExpansion
 
set t0=!time!
 
pause
 
set t1=!time!
call :difftime
 
pause & exit /B
 
:difftime
  for /F "tokens=1-8 delims=:.," %%a in ("!t0: =0!:!t1: =0!") do set /a "a=(((1%%e-1%%a)*60)+1%%f-1%%b)*6000+1%%g%%h-1%%c%%d, a+=(a>>31) & 8640000"
  echo !a! cs
goto :eof


Производные таймера einstein1969 от меня

Вывод в формате HH:MM:SS

Windows Batch file
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
@echo off
setlocal EnableDelayedExpansion
 
set t0=!time!
::set t0=23:49:15,00
pause
set t1=!time!
::set t1= 7:41:23,71
 
echo %t0%
echo %t1%
 
call :difftime
 
pause & exit /B
 
:difftime
  for /F "tokens=1-8 delims=:.," %%a in ("%t0: =0%:%t1: =0%") do set /a "ss=(((1%%e-1%%a)*60)+1%%f-1%%b)*60+1%%g-1%%c, ss+=(ss>>31) & 86400, hh=ss/3600, mm=ss/60-hh*60, ss%%=60, hh+=100, mm+=100, ss+=100"
  echo %hh:~-2%:%mm:~-2%:%ss:~-2%
goto :eof


Добавление минут ко времени

Windows Batch file
1
2
3
4
5
6
7
8
9
10
11
12
13
14
@Echo Off
SetLocal EnableExtensions
 
::Set mt=%Time%
:: Для теста:
Set mt=00:05
 
:: операция = -10 мин.
set dt=-10
 
for /f "tokens=1-2 delims=:" %%a in ("%mt: =0%") do set /a "t=(1%%a-100)*60+(1%%b-100)+(dt %% 1440)", "t+=(t>>31) & 1440", "hh=(t/60 %% 24)+100", "mm=(t %% 60)+100"
echo %hh:~-2%:%mm:~-2%
 
pause


Добавлено через 3 минуты
Определение дня недели
(а также № месяца, квартала, Поры года, № месяца поры года, № календарной недели (от начала года))
Взято с OSZONE.

1) День недели, название и № месяца от начала года, квартала, кол-во часов, минут, секунд
Кликните здесь для просмотра всего текста


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
@Echo Off
SetLocal EnableExtensions EnableDelayedExpansion
 
For /F "Tokens=1* Delims==" %%i In ('WMIC Path Win32_LocalTime Get /Value ^| Find "="') Do (
  Set V=%%j
  Set $%%i=!V:~0,-1!
)
If "%$DayOfWeek%"=="0" Set $DayOfWeek=7
 
For /F "Tokens=%$Month%" %%i In ("Январь Февраль Март Апрель Май Июнь Июль Август Сентябрь Октябрь Ноябрь Декабрь") Do Set $MonthName=%%i
For /F "Tokens=%$DayOfWeek%" %%i In ("Понедельник Вторник Среда Четверг Пятница Суббота Воскресенье") Do Set $DayOfWeekName=%%i
 
Echo --------------------------------------
Echo День          : %$Day%
Echo Месяц         : %$MonthName% (%$Month%-й месяц года)
Echo Год           : %$Year%
Echo --------------------------------------
Echo День недели   : %$DayOfWeekName% (%$DayOfWeek%-й день недели)
Echo Квартал       : %$Quarter%
Echo --------------------------------------
Echo Часов         : %$Hour%
Echo Минут         : %$Minute%
Echo Секунд        : %$Second%
Echo --------------------------------------
Pause>nul
Каталог простых примеров решенных задач BAT/CMD, с чего начать (■■■ основная тема ■■■)


2) Название месяца, пора года, № месяца поры года.
Кликните здесь для просмотра всего текста

Bash
1
2
3
4
5
6
7
8
9
10
11
@Echo Off
 
For /F "Tokens=1,2 Skip=1" %%i In ('WMIC Path Win32_LocalTime Get Month^,Year') Do If Not "%%j"=="" Set $Month=%%i&Set $Year=%%j
For /F "Tokens=%$Month% Delims=," %%i In ("Январь,Февраль,Март,Апрель,Май,Июнь,Июль,Август,Сентябрь,Октябрь,Ноябрь,Декабрь") Do Set $MonthName=%%i
 
Set /A $Season = ($Month-$Month/12*12)/3+1
Set /A $MonthInSeason = $Month-$Month/12*12-(%$Season%-1)*3+1
For /F "Tokens=%$Season% Delims=," %%i In ("Зимы,Весны,Лета,Осени") Do Set $SeasonGenitive=%%i
 
Echo На дворе %$MonthName% - %$MonthInSeason%-й месяц %$SeasonGenitive%
pause>nul
Название: Date2.png
Просмотров: 9396

Размер: 1.5 Кб


3) название дня недели, номер календарной недели.
Кликните здесь для просмотра всего текста
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
::Здесь задаем дату
set dd=11
set mm=02
set yy=2013
 
call :DateToWeek %yy% %mm% %dd% yn cw dw
 
for /f "tokens=%dw%" %%i in ("понедельник вторник среда четверг пятница суббота воскресенье") Do Set DayOfWeek=%%i
echo %DayOfWeek%
echo Календарная неделя (номер недели от начала года): %cw%
pause>nul
exit /b
 
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 
:DateToWeek %yy% %mm% %dd% yn cw dw
::
:: By:   Ritchie Lawrence, Updated 2002-11-20. Version 1.1
::
:: Func: Returns an ISO 8601 Week date from a calendar date.
::       For NT4/2000/XP/2003.
:: 
:: Args: %1 year component to be converted, 2 or 4 digits (by val)
::       %2 month component to be converted, leading zero ok (by val)
::       %3 day of month to be converted, leading zero ok (by val)
::       %4 var to receive year, 4 digits (by ref)
::       %5 var to receive calendar week, 2 digits, 01 to 53 (by ref)
::       %6 var to receive day of week, 1 digit, 1 to 7 (by ref)
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
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,Jd=153*m+2
set /a Jd=Jd/5+dd+y*365+y/4-y/100+y/400-32045
set /a y=yy+4798,Jp=y*365+y/4-y/100+y/400-31738,t=Jp+3,Jp=t-t%%7
set /a y=yy+4799,Jt=y*365+y/4-y/100+y/400-31738,t=Jt+3,Jt=t-t%%7
set /a y=yy+4800,Jn=y*365+y/4-y/100+y/400-31738,t=Jn+3,Jn=t-t%%7
set /a Jr=%Jp%,yn=yy-1,yn+=Jd/Jt,yn+=Jd/Jn
if %Jd% GEQ %Jn% (set /a Jr=%Jn%) else (if %Jd% GEQ %Jt% set /a Jr=%Jt%)
set /a diff=Jd-Jr,cw=diff/7+1,wd=diff%%7,wd+=1
if %cw% LSS 10 set cw=0%cw%
endlocal&set %4=%yn%&set %5=%cw%&set %6=%wd%&goto :EOF
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::


Вернуться к обсуждению:
Каталог простых примеров решенных задач BAT/CMD, с чего начать (■■■ основная тема ■■■)
6
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.02.2013, 17:34
Готовые ответы и решения:

Как задать вопрос на форуме Batch и выделить свой код? (■■■ Кто первый раз в этом разделе ■■■)
Как задать вопрос на форуме Batch и выделить свой код? Важно знать: у нас есть "тема-каталог...

WiLD: Алгоритм работы ■ (основное обсуждение) ■
Обсуждение части проекта: http://www.cyberforum.ru/cmd-bat/thread866656.html Полезные ссылки:...

Lenovo G500 (LA-9632 rev 1.0) не включается
Добрый день. Ноутбук пришел перебитым кабелем з.у. В EC KB9012QF дырка, кз по B+. По B+ в к.з. был...

Lenovo G500 (LA-9632) - Сильно греется хаб
Всем добрый день. Принесли ноут Lenovo G500 мать la-9632 При включении не было изображение....

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

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