Показать полную графическую версию : [решено] Помогите написать bat для проверки валидности адресов в списке.
Eugene Shugaev
15-03-2014, 23:37
Идея такая, есть список адресов сайтов in.txt и нужно через ping проверить работают ли они и вывести список работающих сайтов в out.txt
Вот что я написал:
@echo off
set /a c=0
rem Это построчное чтение из файла
for /f "UseBackQ Delims=" %%A IN ("in.txt") do (
set /a c+=1
if !c!==1 set "a=%%A"
)
ping %a% >> temp.txt
pause
Но это далеко не то что надо((((
Как-то так:
@echo off
setlocal enableextensions enabledelayedexpansion
set sMachineList=in.txt
set sResultFile=out.txt
if exist "%sMachineList%" (
>"%sResultFile%" (
for /f "usebackq" %%i in ("%sMachineList%") do (
ping.exe -n 1 %%~i | >nul find.exe /i "TTL=" && echo %%i
)
)
) else (
echo Machine list file [%sMachineList%] not found.
exit /b 1
)
endlocal
exit /b 0
Eugene Shugaev
16-03-2014, 01:53
Iska, Вопрос может и тупой, хоть так и есть. Но задам: Я трачу в день около 3 часов чисто на написание bat и лазанье по форумам. Но мне все равно не хватает знаний. И так : как вы Iska, постигли таких глубоких знаний??? гугу в bat
И так : как вы Iska, постигли таких глубоких знаний??? гугу в bat »
Во-первых, вовсе не глубоких. Во-вторых, не достиг. В третьих, отнюдь не «гуру».
У меня были хорошие учителя:
Серый форум: «Коллекция» CMD/BAT (http://forum.script-coding.com/viewforum.php?id=12) и Разработка CMD/BAT (http://forum.script-coding.com/viewforum.php?id=18).
Ru-Board: все одиннадцать частей Задачи на bat-файлах (http://forum.ru-board.com/topic.cgi?forum=62&topic=23213&start=3900), три части Автоматизация администрирования. (http://forum.ru-board.com/topic.cgi?forum=8&topic=41227&start=220), четыре части Командная строка, батники, сценарии (bat, cmd) (http://forum.ru-board.com/topic.cgi?forum=5&topic=33080&start=6920).
Здесь: Скриптовые языки администрирования Windows (http://forum.oszone.net/forum-102.html).
А также справочники, книги, документы, упоминаемые по приведённым ссылкам.
Читать. Изучать. Стараться понять, как работает. Если не понимаете — делаете закладку на потом и двигаетесь дальше. Потом возвращаетесь и снова пытаетесь понять. Решаете практические задачи. Даже не свои, чужие. В том числе самые нелепые и Вам лично абсолютно не интересные. Каких-то семь-восемь лет — и Вы «в дамках» ;).
Разумеется, в процессе Вам никак не избежать изучения сопутствующих и более новых технологий — WSH и PoSH. Не пренебрегайте этим. А можете и сразу начинать с PoSH.
Гуллипут
16-03-2014, 15:15
Iska, я до сих пор проверку результата ping делал по errorlevel. Попробую через find.exe /i "TTL=" », посмотрим разницу.
Гуллипут, отсюда (http://forum.oszone.net/post-1923440.html#post1923440) и ниже.
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.
Available in ZeroNet 1osznRoVratMCN3bFoFpR2pSV5c9z6sTC