DevTrain Startseite Visual Studio 1 Magazin  
  
  
SUCHEN:  
ARTIKEL ONLINE: 525   

Kategorien
.NET
Datenbanken
Web
XML

Allgemein
Camp
Foren
Events
Persönliche Einstellungen
Registrieren
Prämien Shop
Kontakt
Impressum
Über DevTrain

Autoren



 

Forum: Visual Basic | Thema: Re: Kommandozeile lesen | Von: Rainer Jeschor ( 05.03.2004 10:27)

Hi,
am einfachsten gehts über einen Umweg, d.h. die Ausgabe der CommandLine wird in einem Textfile gespeichert, welches dann im Anschluss ausgelesen wird und du dann den Inhalt nach den Infos parst, die du brauchst.

Ich habe so etwas mal unter VBSkript gemacht, evtl. kannst du da was adaptieren:

MsgBox PingCheck("127.0.0.1")
REM This works and returns "Wahr"
MsgBox PingCheck("128.0.0.1")
REM This doesnt work and returns "Falsch"

Function PingCheck(ByVal strIP)
Dim objFSO, objShell, objCheckFile, objTS
Dim strCommand, strReadLine
Dim bolReturn
Dim strConstAnswer
strConstAnswer = "antwort von"
Set objShell = WScript.CreateObject("WScript.Shell")
Set objFSO = CreateObject("Scripting.FileSystemObject")

REM Setze Standard Rückgabe auf false
bolReturn = False
REM Erzeuge Commandline für ping und speichere
REM Antwort in Datei
REM Parameter für Ping:
REM - n: Anzahl der Versuche
REM - w: Zeitlimit für Rückmeldung in ms
strCommand = "cmd /c ping.exe -n 2 -w 500 " & strIP &_
" > checkping.txt"
REM Ausführen der Commandline
objShell.run strCommand, 0, True
REM Auslesen des erzeugten Files
Set objCheckFile = objFSO.GetFile("checkping.txt")
Set objTS = objCheckFile.OpenAsTextStream(1)
REM Zeilenweise Suche nach strConstAnswer
REM ("Antwort von", bitte LCASE beachten)
REM auf einem englischsprachigen System müsste man
REM nach "reply from" suchen
REM Falls vorhanden -> Rechner antwortet
Do While objTS.AtEndOfStream <> True
strReadLine = objTS.ReadLine
If InStr(LCase(strReadLine), strConstAnswer) > 0 Then
bolReturn = True
Exit Do
End If
Loop
REM Schliessen und löschen des CheckFiles und
REM Freigeben der Ressourcen
objTS.Close
objCheckFile.Delete
Set objTS = Nothing
Set objCheckFile = Nothing
Set objShell = Nothing
Set objFSO = Nothing
REM Gib Ergebnis zurück
PingCheck = bolReturn
End Function

Ich habs auch mal direkt über div. API-Aufrufe probiert, habs aber unter VB nie so richtig zum laufen bekommen.

HTH,

Rainer Jeschor
MCSD, MCDBA


Antworten
Vorsicht bei der Eingabe: Die Zeichen ' oder -- sind nicht erlaubt!

 Betreff:
 Nachricht: Den Beitrag finden Sie nun unter: http://beta.devtrain.de/foren Die Benutzerdaten und Foreninhalte von beta.devtrain.de und www.devtrain.de sind die selben.
Sie können sich dort sogar per RSS über neue Inhalte informieren lassen.
Bei Problemen bitte direkt Mail an asp [AT] ppedv.de.

 Signatur:

  



Login
Username:


Passwort:






Passwort vergessen?

Visual Studio 1 Magazin

© Copyright 2003 ppedv AG