Ru-Board.club
← Вернуться в раздел «Microsoft Windows»

» Задачи на bat-файлах 8

Автор: yurkesha
Дата сообщения: 26.04.2010 20:53
max200701
ping www.google.ru|findstr /i /v "TTL"
Автор: max200701
Дата сообщения: 26.04.2010 20:58

Цитата:
max200701
проверь так
@echo off
:inetchk
ping 66.102.13.19>nul 2>&1
if "_%errorlevel%" equ "_0" (
rem 1 second pause
ping -n 2 localhost>nul 2>&1
goto:inetchk
) else (
echo.hi
pause
)

так работает?..
вот токо я не понял ,а как и куда в этот код мой кусок кода добавить?????

Автор: yurkesha
Дата сообщения: 26.04.2010 21:00
Хотя пожалуй не так:
Код: ping www.google.ru|findstr /i "TTL"
Автор: mugil_cephalus
Дата сообщения: 26.04.2010 21:01
max200701

Цитата:
вот токо я не понял ,а как и куда в этот код мой кусок кода добавить?????

то есть работает? тогда дело в твоем куске кода....
Автор: max200701
Дата сообщения: 26.04.2010 21:02

Цитата:
Хотя пожалуй не так:
Код:ping www.google.ru|findstr /i "TTL"

ребят ,не пинайте очень,но я дуб в этиж делах,обясняйте пожалуйста что делает ваш код,и как к нему прикрутить мой
Автор: NIKZZZZ
Дата сообщения: 26.04.2010 21:04
max200701

Цитата:
просто выполняется по кругу как будто всё в поряде,хотя на самом деле всё не так

А разве не это требовалось? Если он не обнаруживает http://www.google.ru/ (либо другой гарантированный сервер), то пишет run script (это должно быть заменено вашем переконектом). Добавь "Echo off" в первую строку, и он будет выдавать ( без мусора) "run script" при недоступности адреса.

Автор: yurkesha
Дата сообщения: 26.04.2010 21:05
max200701
ищет в результате выполнения команды пинг сочетание TTL без учета регистра и если не находит возвращает ошибку...
Твой код вставлять в код NIKZZZZ там где Echo run script
Автор: mugil_cephalus
Дата сообщения: 26.04.2010 21:14
wolf0425

Цитата:
подскажите чем отработать прерываемую паузу в несколько секунд?
в смысле - надо написать сообщение, подождать 10 секунд или до нажатия любой кнопки (что раньше), продолжить выполнение батника.

msg /?
Автор: king_stiven
Дата сообщения: 26.04.2010 21:28

Цитата:
pps: а проверить (не останавливаясь) из батника нет ли в клавиатурной очереди консоли в данный момент нажатой кнопки - как-то можно ?

не понял


Цитата:
ps: батник может быть запущен многократно, в несколько окон с разными параметрами.

тогда не знаю


Цитата:
э... А как? пример можно?

утилитой nircmd
Автор: wolf0425
Дата сообщения: 26.04.2010 21:47
mugil_cephalus
Цитата:
msg /?
угу. надо примерно это - но без появления лишних окон, непосредсвенно в текущей консоли.


Цитата:

Цитата: pps: а проверить (не останавливаясь) из батника нет ли в клавиатурной очереди консоли в данный момент нажатой кнопки - как-то можно ?
не понял
Автор: max200701
Дата сообщения: 26.04.2010 21:48
Вот так всё прекрасно заработало

Код: @echo off
:inetchk
ping www.google.ru|findstr /i "TTL"
if "_%errorlevel%" equ "_0" (
rem 1 second pause
ping -n 10 localhost 2>&1
goto:inetchk
) else (
@echo off
:loop
echo -----------------
echo Start program...
ZTnBatch -h 192.168.1.1 -p 1980 -c "sys reboot 0"
if not errorlevel=0 (
echo Connect Error! Restart...
goto loop
)
echo Connect OK! Wait ~120 sec...
sleep 180
goto:inetchk
)
Автор: stydent62
Дата сообщения: 26.04.2010 23:05
Помогите написать написать батник который бы копировал из папки "пополнение" ANS файлы соответственно DIN файлам в папку RECEIVE. непример если din файл BUH то копируются все ANS файлы к этому дину DOCS, BRB, KRS, PBI и т.д. ... Если в папке еще и Rlaw din то и ANS соответствующий. То есть копировать надо все ans к базам соответствующего DINA. это все относится к файлам программы Консультант Плюс.
Автор: Tim72
Дата сообщения: 27.04.2010 03:34
Помогите разобраться с кодировками, запускаю следующий батник
два варианта кодировки (866|1251), и два варианта вывода информации (консоль|файл)
при выводе в логфайл получается каша из кодировок...


Код: Chcp 866
echo Кириллица
REG EXPORT HKEY_CURRENT_USER\Software\Classes\.jpeg .jpeg-backup.reg
Chcp 1251
echo Кириллица
REG EXPORT HKEY_CURRENT_USER\Software\Classes\.jpeg .jpeg-backup.reg
pause
IF "%Restarted%" == "" (
    set Restarted=yes
    cmd.exe /c %0 %* >LOG.txt
    EXIT /b %ERRORLEVEL%
)
exit
Автор: mugil_cephalus
Дата сообщения: 27.04.2010 08:36
wolf0425
то есть, у тебя в скрипте идет ветвление в зависимости от нажатия клавиши (событие 1 ) или окончания паузы (событие 2 ) ...
то есть, редуцируя дальше, нужно узнать видел ли юзер сообщение или на тот момент он отсутсвовал за терминалом...
если задача такова, то может подойти к ней с "другой стороны" ?


Цитата:
Можно ли проверить - есть ли что то в этой очереди?

пробовал

Код: systeminfo
systeminfo
rem copy con 5.txt 2>&1
set /p var=<con 2>&1
pause
cmd
Автор: wolf0425
Дата сообщения: 27.04.2010 09:20

Цитата:
очередь "вытаскивается" , но батник стопорится, пока enter не введешь
надо то не enter - надо аникей


Добавлено:
Tim72

Цитата:
Помогите разобраться с кодировками
запускаю следующий батник

Цитата:
Хотелось бы, чтоб в логфайле все было в одной кодировке...
не похоже что хотелось бы - ты же сам кодировку переключаешь посреди батника.
Автор: slech
Дата сообщения: 27.04.2010 09:49
wolf0425
помоги пожалуйста в AOL тоже. несмог подправить твой sed:

Цитата:

Mon 2010-04-26 08:24:56: [6546:1] <-- 550 5.1.1 <nosway145@aol.com>: Recipient address rejected: aol.com

sed -n -r "s/^.+[ \(]([^ @]+@[^ \)]+)[ \)].+$/\1/gp" <%report% >>%report%
спасибо.
Автор: wolf0425
Дата сообщения: 27.04.2010 10:45
slech вроде так, заодно подсократил

Код:
sed -i -r "s/^.*[ <(]([^ @]+@[^ >)]+).*$/\1/g" %report%
Автор: Joo1z
Дата сообщения: 27.04.2010 11:20
wolf0425
Что это за \x3c и \x3e ???
Пытался играться с \w \d и \s, но путного ничего не вышло.
Пришел к выводу, что для меня проще запись вида:
Код: sed -n -r "s/^.+[^a-z0-9]([a-z0-9._-]+@[a-z0-9._-]+).+$/\1/gp" <log.txt
Автор: wolf0425
Дата сообщения: 27.04.2010 11:39
Joo1z
Цитата:
Что это за \x3c и \x3e ???
хекскоды <> соответственно, но оказалось что и не надо - экранировать <> там необязательно

регэксп печатает нечто стоящее между ограничителями/скобками если оно имеет @ в середине.
Автор: Tim72
Дата сообщения: 27.04.2010 12:07
wolf0425

Цитата:
не похоже что хотелось бы

а если посмотреть на пример как на четыре батника, то похоже?
два варианта кодировки (866|1251), и два варианта вывода информации (консоль|файл)
причем в каждом из четырех случаев получается каша из кодировок...
Автор: wolf0425
Дата сообщения: 27.04.2010 12:10

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

Добавлено:

Цитата:
два варианта кодировки (866|1251), и два варианта вывода информации (консоль|файл)
там два скриншота от разных режимов показа одного файла лога, вызванного одним проходом батника, в котором специально переключается кодировка вывода системных сообщений.
когда ты пишешь в тетрадке сначала синей ручкой, потом красной - ты тоже ко всем пристаешь с вопросами почему у тебя надписи в тетрадке разноцветные, хотя тебе хотелось бы иметь их одноцветными?

ps: чтобы на экране видеть поменьше каши - фонт у консоли надо ставить уникодный, тогда хоть в консоли сообщения reg всегда будут читаться.
А с логом - облом, он то пишется в текущей.
Автор: mouser
Дата сообщения: 27.04.2010 12:39
tasklist - возвращает Mem usage per process
какая прога может вернуть CPU usage per process?
Автор: mugil_cephalus
Дата сообщения: 27.04.2010 13:04
mouser
Уильям Станек - Командная строка Microsoft Windows
там раздел по процесам, pmon кажется (из reskit'a )
Автор: mouser
Дата сообщения: 27.04.2010 14:45
mugil_cephalus
нашел прогу ... но там нет CPU Usage
Автор: wolf0425
Дата сообщения: 27.04.2010 15:06
mouser
Цитата:
нашел прогу ... но там нет CPU Usage

PsTools: pslist.exe -s 2
у второй страницы процессов - CPU Usage заполнено...
Автор: vov4ka
Дата сообщения: 28.04.2010 07:13
А можно мне батничек,который выводит список всех компов(NetBios имена и Ip адреса),находящихся в сети в тесктовый файл?

P.S.
Цитата:
Напиши в командной строке "REG ADD /?" и "FOR /?" и почитай. К тому же все есть в шапке.

Ответа на свои вопросы я не нашел ни в шапке и в командной строке(описыватеся не все)

Автор: mouser
Дата сообщения: 28.04.2010 09:06
wolf0425
да ... это там есть ... а как из этого сделать чтоб если CPU per process > 80% тогда его отстрелить
как ??? (((
Автор: Joo1z
Дата сообщения: 28.04.2010 09:27
vov4ka
В свете последних разборок с sed замороченно как-то получилось.

Код: for /f %a in ('net view ^| sed -r -n "s/^\\\\([A-Z0-9-_]+)[ ]/\1/gp"') do @ping -n 1 %a | findstr [ | sed -r -n "s/^.+[\[]([0-9.]+).+$/\1 - %a/gp" >> pclist.txt
Автор: wolf0425
Дата сообщения: 28.04.2010 10:02

Цитата:
а как из этого сделать чтоб если CPU per process > 80% тогда его отстрелить
как ??? (((
for /? if /? taskkill.exe /?


Цитата:
У тебя тогда все время он будет пытаться завалить Ilde.
проверить имя процесса на исключения - не проблема, и что полезно - >=80 будет единственный процесс. Второй кандидат на заваливание - svchost

Но непонятно откуда вообще взялась идея убивать активный неизвестный процесс, так что нет уверенности что ему это вообще надо...
Автор: mouser
Дата сообщения: 28.04.2010 10:59
Joo1z

вот к примеру выводит CPU usage firefox
for /f "tokens=1,3" %f in ('pslist.exe -s 2 ^| findstr /C:"firefox"') do @echo %g >>fsfd


Код: 0
7

Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132

Предыдущая тема: XP не видит второй раздел на съемном USB-HDD


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.