🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: be.comp.programming
4 messages
4 total messages Started by Marty Thu, 17 Jul 2003 10:35
Batch scripting vraag (W2K)
#4616
Author: Marty
Date: Thu, 17 Jul 2003 10:35
36 lines
1918 bytes
Ik heb een lijst van hostnames van ons locaal netwerk in een
tekstbestand. Hiervan wil ik op bepaalde momenten weten of deze pc's
zich op het netwerk bevinden. Hiervoor heb ik een simpel batch script
aangemaakt die uit het tekstbestand elke keer een name neemt en deze
pingt. So far so good.

Het enige waar ik niet uitgeraak is een validatie te doen van de ping
replies om de pc's die op het netwerk zijn in een log bestandje te
zetten.

De code momenteel (simplistisch daar ik nog in test fase ben) is als
volgt:

@echo on

FOR /F "eol= " %%i IN (pcnames.txt) DO (
	PING %%i > %%i.txt
	)

FOR %%g in (GT*.txt) DO (
	FIND /n /i "Reply from" "%%g"
	)

Deze neemt uit het bestand 'pcnames.txt' elke keer een pcname en pingt
deze vervolgens met een log bestand pcname.txt. Daarna scan ik alle
pcname.txt bestanden op zoek naar de string "Reply from" hetgeen
indiceert dat de pc online is. En hoe kan ik nu dit valideren en op
basis van de validatie enkel de pc's die een online zijn in een log
bestand krijgen?

Alle hulp is welkom.


-------------------
Imagination is more important then knowledge.
(A. Einstein)
Re: Batch scripting vraag (W2K)
#4618
Author: Luc Kumps
Date: Thu, 17 Jul 2003 12:38
23 lines
1545 bytes
"Marty" <marty@pandora.be> wrote in message
news:ba227f77.0307170235.1c73330f@posting.google.com...
> FOR %%g in (GT*.txt) DO (
> FIND /n /i "Reply from" "%%g"
> )

Je zou dit kunnen vervangen door:

FOR %%g in (GT*.txt) DO call testfile.bat "%%g"

En in testfile.bat zet je dit:

FIND /n /i "Reply from" "%1"
if errorlevel 1 goto oei
echo %1 antwoordt
goto done
:oei
echo %1 antwoordt niet
:done


Luc K
Re: Batch scripting vraag (W2K)
#4633
Author: Marty
Date: Thu, 17 Jul 2003 22:31
35 lines
1891 bytes
"Luc Kumps" <NOkumpsSPAM@pandora.be> wrote in message news:<uNwRa.15652$F92.1930@afrodite.telenet-ops.be>...
> "Marty" <marty@pandora.be> wrote in message
> news:ba227f77.0307170235.1c73330f@posting.google.com...
> > FOR %%g in (GT*.txt) DO (
> > FIND /n /i "Reply from" "%%g"
> > )
> 
> Je zou dit kunnen vervangen door:
> 
> FOR %%g in (GT*.txt) DO call testfile.bat "%%g"
> 
> En in testfile.bat zet je dit:
> 
> FIND /n /i "Reply from" "%1"
> if errorlevel 1 goto oei
> echo %1 antwoordt
> goto done
> :oei
>  echo %1 antwoordt niet
> :done
> 
> 
> Luc K

ik ga dit morgen testen! Als ik de 'if errorlevel 1' statement
gebruikte onmiddellijk in de for statement, liep het helaas vast. Hij
deed de checks wel op 'Reply from' maar er kwam altijd, gevonden of
niet, dezelfde errorlevel terug. Nogal ambetant als je probeert een
onderscheid te maken...

Alvast bedankt en ik laat morgen iets weten.

------------------
Imagination is more important then knowledge.
(A. Einstein)
Re: Batch scripting vraag (W2K)
#4638
Author: Marty
Date: Fri, 18 Jul 2003 10:17
31 lines
1581 bytes
"Luc Kumps" <NOkumpsSPAM@pandora.be> wrote in message news:<uNwRa.15652$F92.1930@afrodite.telenet-ops.be>...
> "Marty" <marty@pandora.be> wrote in message
> news:ba227f77.0307170235.1c73330f@posting.google.com...
> > FOR %%g in (GT*.txt) DO (
> > FIND /n /i "Reply from" "%%g"
> > )
> 
> Je zou dit kunnen vervangen door:
> 
> FOR %%g in (GT*.txt) DO call testfile.bat "%%g"
> 
> En in testfile.bat zet je dit:
> 
> FIND /n /i "Reply from" "%1"
> if errorlevel 1 goto oei
> echo %1 antwoordt
> goto done
> :oei
>  echo %1 antwoordt niet
> :done
> 
> 
> Luc K

It works indeed like that!

Thanks!

-------------
Imagination is more important then knowledge.
(A. Einstein)
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads