Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - Консольные утилитки для .bat .cmd

Ответить
Настройки темы
CMD/BAT - Консольные утилитки для .bat .cmd

Ветеран


Сообщения: 542
Благодарности: 35

Профиль | Сайт | Отправить PM | Цитировать


Изменения
Автор: Опиум
Дата: 20-12-2013
Описание: добавлен пример)
Вложения
Тип файла: rar before.rar
(24.7 Kb, 37 просмотров)
Здесь буду выкладывать утилитки, некоторым из которых 10 лет в обед. Писаны были для использования в батниках.

Начну с любимой)
BEFORE.EXE starttime [endtime] [nowait] - приостановить выполнение командного файла до времени starttime, заданного в формате HH:mm

Примеры
BEFORE.EXE 20:00 -подождать до 20:00 и продолжить. Если к моменту исполнения команды на часах 20:01, то будет ждать до 20:00 следующего дня.
BEFORE.EXE 20:00 23:00 -подождать до 20:00 и продолжить. Если к моменту исполнения команды на часах от 20:00 до 23:00 то ждать не будет. Вернет errorlevel=0 - количество часов которые ждала программа.
BEFORE.EXE 20:00 nowait - не ждать, но вернуть errorlevel=h - количество часов которые бы ждала программа до 20:00
BEFORE.EXE 20:00 23:00 nowait - не ждать, но вернуть errorlevel=h - количество часов которые бы ждала программа до 20:00. Если текущее время от 20:00 до 23:00 то errorlevel=0

В выходную строку отправляет количество секунд которые будет (стала бы) ждать и errorlevel
Код: Выделить весь код
d:\>time /t
17:22

d:\>before 20:00 nowait
9440
BEFORE Errorlevel:2

d:\>

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

before 0:00 7:00 nowait && shutdown /r

-------
консольный клиент telegram для Windows: www.elapser.info

Это сообщение посчитали полезным следующие участники:

Отправлено: 17:23, 04-12-2013

 

Ветеран


Сообщения: 542
Благодарности: 35

Профиль | Сайт | Отправить PM | Цитировать


Вложения
Тип файла: rar inkeys.rar
(20.9 Kb, 54 просмотров)

INKEYS.EXE [[string1] prompt_string] - получает ascii код нажатой клавиши и возвращает его в качестве errorlevel.

если string1 число, то ждет нажатие соответствующее количество секунд

Примеры
Код: Выделить весь код
d:\>inkeys test - не ждет, вычитывает нажатую кнопку.
0

d:\>inkeys 5 "Press ESC to abort"    - ждет 5 секунд... я ничего не нажимал. вернулся errorlevel=0
Press ESC to abort [Wait:5 sec]
0

d:\>inkeys 5 "Press ESC to abort"  - нажал esc.  вернулся errorlevel=27
Press ESC to abort [Wait:5 sec]
27

d:\>
использую например в батниках, запускаемых по шедулеру. если запускатся сам - так и ладно, а если я его толкаю ручками - то имею возможность менять логику в местах где ставляю inkeys.exe

-------
консольный клиент telegram для Windows: www.elapser.info

Это сообщение посчитали полезным следующие участники:

Отправлено: 17:58, 05-12-2013 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Ветеран


Сообщения: 27449
Благодарности: 8086

Профиль | Отправить PM | Цитировать


Опиум, это чем-то отличается от choice.exe?!

Отправлено: 05:42, 06-12-2013 | #3


Ветеран


Сообщения: 542
Благодарности: 35

Профиль | Сайт | Отправить PM | Цитировать


меня както напрягло несколько раз, что опции командной строки choice в разных виндах несовместимы.
решил сбацать инструмент для своего kit-а

-------
консольный клиент telegram для Windows: www.elapser.info


Отправлено: 09:47, 06-12-2013 | #4


Ветеран


Сообщения: 27449
Благодарности: 8086

Профиль | Отправить PM | Цитировать


Как раз совместимы. Как и обычно — снизу вверх.

Последний раз редактировалось Iska, 06-12-2013 в 14:02. Причина: Пометил некорректное утверждение


Отправлено: 13:23, 06-12-2013 | #5


Ветеран


Сообщения: 542
Благодарности: 35

Профиль | Сайт | Отправить PM | Цитировать


ога. снизу вверх.
вот например ХП
Код: Выделить весь код
d:\>ver

Microsoft Windows XP [Version 5.1.2600]

d:\>choice /ty,5
[Y,N]?Y

d:\>
и запусти это же под w7...

-------
консольный клиент telegram для Windows: www.elapser.info


Отправлено: 13:42, 06-12-2013 | #6


Ветеран


Сообщения: 27449
Благодарности: 8086

Профиль | Отправить PM | Цитировать


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

Отправлено: 14:01, 06-12-2013 | #7


Ветеран


Сообщения: 542
Благодарности: 35

Профиль | Сайт | Отправить PM | Цитировать


Вложения
Тип файла: rar datetimemsec.rar
(57.1 Kb, 183 просмотров)

Выводит текущее дату-время с секундами и миллисекундами
Код: Выделить весь код
D:\>datetimemsec
20131220174820287

D:\>datetimemsec ;
2013;12;20;17;48;26;078

D:\>datetimemsec -
2013-12-20-17-48-29-214

Для замера длительности процесса использую:

Код: Выделить весь код
D:\>timemer
timemer.exe string start|stop|view      

D:\>timemer my_backup start      #инициализирует и запускает секундомер под названием "my_backup"
254
20.12.2013 17:51:42 my_backup start

#подождал 12 секунд и набираю

D:\>timemer my_backup view      #показывает сколько прошло времени с момента сброса или инициализации.
0
  0 00:00:12 my_backup view

#еще чуток подождал...

D:\>timemer my_backup stop     #перезапускает секундомер "my_backup"
0
  0 00:00:24 my_backup stop

#подождал 5 секунд и набираю

D:\>timemer my_backup view
0
  0 00:00:05 my_backup view

D:\>
возвращает errorlevel=интервал в часах. и длительность в DD HH:MM:SS
в работе использует файл timemer.ini, расположенный вместе с экзешником.

-------
консольный клиент telegram для Windows: www.elapser.info

Это сообщение посчитали полезным следующие участники:

Отправлено: 18:31, 20-12-2013 | #8


Новый участник


Сообщения: 13
Благодарности: 0

Профиль | Отправить PM | Цитировать


Вложения
Тип файла: rar HS_Packet.rar
(87.4 Kb, 159 просмотров)

Моя любимая : HS_packet ! Она замечательна. В ней находятся:
beep ; color* ; delay ; echo* ; exec ; help ; message ; play ; pos ; readkey ; window.
* НЕ СТАНДАРТНЫЕ.

Отправлено: 12:05, 24-12-2013 | #9



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - Консольные утилитки для .bat .cmd

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
CMD/BAT - [решено] CMD/BAT - С помощью bat-ника найти и удалить текст в файле InVariable Скриптовые языки администрирования Windows 4 22-05-2015 20:06
Разное - [решено] Как из cmd запускать консольные программы wojtkewitsch Microsoft Windows 2000/XP 3 02-01-2011 17:03
CMD/BAT - [решено] CMD\BAT для сохранения ключей реестра. belohortvladimir Скриптовые языки администрирования Windows 5 14-06-2010 14:01
Интерфейс - [решено] Не запускаюся консольные команды из под cmd.exe trager Microsoft Windows 2000/XP 3 29-01-2010 19:54
CMD/BAT - [решено] Создание CMD/BAT файла для удаления лишних папок Vsirf Скриптовые языки администрирования Windows 4 04-06-2009 20:37




 
Переход