ScreamWolf
Junior Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору HaK1R Цитата: %~0 это ссылка на данный файл не привязан в смысле del 1.bat будет работать если сам файл назван как 1.bat а если del "%~0" то он может быть назван как угодно. | спасибо за инфу...!!! Цитата: А скинь мне ссылку на hs_message.exe а то я найти не могу | с шапки не брал? -> Цитата: я брал в шапке... но сайтик не всегда доступен... если очень нада могу выложить архивчик... | Цитата: -> Цитата: тока мне надо в конце каждого файла (файл является ярлыком - *.lnk) удалить слова с пробелом перед ним "_Управление" (ПОДЧЕРКИВАНИЕ - означает пробел) | подскажи плиз... и можно ли это сообразить так что бы в начале батника было set /p delstr=.... и кое-нить определение "с конца"/"с начала" искать и править имя... а то по работе частенько встречаються разнообразные группы файлов которые необходимо переименовывать, я конечно тоталом пробовал (вроде ниче), но хотелось бы просто разобраться как это можно при помощу батника делать... Добавлено: HaK1R Цитата: @echo off set "report=report.txt" set h1=18 set h2=9 set m1=0 set m2=0 set s1=0 set s2=0 set timesleep=30 set /a TimeInSec1=(%h1%*60+%m1%)*60+%s1% set /a TimeInSec2=(%h2%*60+%m2%)*60+%s2% set /a timesleep+=1 set /a MASS=0 set /p "NumberOfServers=Сколько серверов?" for /l %%a in (1,1,%NumberOfServers%) do ( set /p "ServerName_%%a=Введите имя %%a-го сервера" ) (echo %date% %time:~0,8% Запуск проверки) 1>>%report% start hs_message.exe "Server Controll ONLINE - ЗАПУЩЕН c %h2%:%m2%:%s2% до %h1%:%m1%:%s1% таймаут:%timesleep%сек" "!!!ВНИМАНИЕ!!! *** %date% %time:~0,8%" I OK :scan for /f "tokens=1,2,3 delims=:" %%a in ("%time:~0,8%") do (set hh=%%a) & (set mm=%%b) & (set ss=%%c) set /a TimeInSec=(%hh%*60+%mm%)*60+%ss% if %TimeInSec% GEQ %TimeInSec1% (goto :stop) if %TimeInSec% Lss %TimeInSec2% (goto :stop) for /f "tokens=1* delims==" %%h in ('set ServerName') do ( ping -n 1 "%%i" | find /i "TTL=" 1>nul 2>&1 if %errorlevel% 1 ( (echo %date% %time:~0,8% Сервер %%i - недоступен) 1>>%report% call ffline "%%i" ) else ( (echo %date% %time:~0,8% Сервер %%i - доступен) 1>>%report% ) ) ping -n %timesleep% localhost 1>nul 2>&1 goto :scan ffline if MASS==0 (start hs_message.exe "Сервер %~1 не доступен (не виден в сети)! Проверьте сетевые подключения сервера!" "!!!ВНИМАНИЕ!!! *** %date% %time:~0,8%" E OK) set /a MASS=1 goto :EOF :stop (echo %date% %time:~0,8% Остановка проверки) 1>>%report% start hs_message.exe "Server Controll ONLINE - ОСТАНОВЛЕН по истечению времени!" "!!!ВНИМАНИЕ!!! *** %date% %time:~0,8%" I OK goto :EOF | И еще... вверхнем коде raport.txt (лог) пишится в кодировке 866, можно ли как-нить его писать в 1251? и все же никак... обрыв на for /f "tokens=1* delims==" %%h in ('set ServerName') .... Пробовал отдельно такой батник: Код: set ServerName=192.168.0.1 for /f "tokens=1* delims==" %%h in ('set ServerName') do ( ping -n 1 "%%i" | find /i "TTL=" 1>nul 2>&1 if %errorlevel% 1 ( echo %date% %time:~0,8% Сервер %%i - недоступен ) else ( echo %date% %time:~0,8% Сервер %%i - доступен ) ) pause | не работает ((( Цитата: а попробуй убивать не по имени процесса а по PID | -> Цитата: а как этим же (1.bat - который создает и запускает 2.bat) батником узнать PID зпущеного батника 2.bat (cmd.exe) если сам 1.bat так же висит в прцессах (!возможно не толбько он!)... | Добавлено: HaK1R Нашел трабл... красным цветом Цитата: set ServerName=192.168.0.1 for /f "tokens=1* delims==" %%h in ('set ServerName') do ( ping -n 1 "%%i" | find /i "TTL=" 1>nul 2>&1 if %errorlevel%==1 ( echo %date% %time:~0,8% Сервер %%i - недоступен ) else ( echo %date% %time:~0,8% Сервер %%i - доступен ) ) | но почему-то в любом случае пишет что доступен (( | Всего записей: 197 | Зарегистр. 15-05-2009 | Отправлено: 11:55 16-06-2009 | Исправлено: ScreamWolf, 13:12 16-06-2009 |
|