Ergebnis 1 bis 7 von 7
  1. #1
    Anfänger
    Registriert seit
    14.08.2007
    Beiträge
    14

    Standard bat mit ping und auslesen

    also...
    Ich möchte gerne eine batchdatei haben, die erst einen ping an einen PC sendet...


    Code:
    ping {domainname}
    ok, das geht ja...

    aber wie kann ich dann den ping auswerten?

    Code:
    if
    echo=
    geht das?
    will das der wenn ein ping zurückkommt der Netzwerk PC heruntergefahren wird, wenn kein Ping kommt, dann der Teil übersprungen wird???

    Wäre nett wenn mir jmd hilft!!!

  2. #2
    Trojaner
    Registriert seit
    14.03.2007
    Beiträge
    87

    Standard

    Code:
    ping 127.0.0.1
    echo %ERRORLEVEL%
    Code:
    ping notexist
    echo %ERRORLEVEL%

    Ich versteh zwar nicht ganz worauf Du hinaus willst, erinnere mich aber auf Wikipedia mal einen Artikel zu "Batch" "Ping"... gesehen zu haben.
    (unter Wikipedia Batchprogrammierung).

    Code:
    if not %errorlevel% gtr 0 shutdown \\ usw.
    Traue keiner Software die Du nicht selbst gecodet^^.

  3. #3

    Standard

    Meinst die vielleicht die Wikibooks zum Thema Batchprogrammierung?
    Danke.
    .::free-hack::.

  4. #4
    Trojaner
    Registriert seit
    14.03.2007
    Beiträge
    87

    Standard

    Ja genau, da gabs den Source zur Übrprüfung ob der Server noch lebt^^

    Code:
    @echo off
    
    :: wenn kein remote Host angegeben ist, dann gehe zu :Syntax
    IF [%1]==[] GOTO Syntax
    IF [%1]==[/?] GOTO Syntax
    IF [%1]==[/h] GOTO Syntax
    IF [%1]==[/help] GOTO Syntax
    
    :mainloop
    :: pinge den Host 1 mal und leite die Ausgabe nach 'nul' um (keine sichtbare Ausgabe)
    ping %1 -n 1 >nul
    
    :: speichere den Errorlevel in die Variable 'status'
    set status=%errorlevel% 
    
    :: sende eine Nachricht an den lokalen Coputer falls der remote Host online ist 
    if %status%==0 (net send %computername% %1 online && exit 0)
    
    :: minimalistische Fortschrittsanzeige
    (Set /P i=.) < NUL
    
    :: sleep workaround   (wer eine bessere, einfachere, genauere & universellere Möglichkeit kennt bitte korrigieren)
    :: pinge den lokalen Computer 10 mal
    ping localhost -n 10 >nul
    
    :: gehe zurück zum anfang
    goto mainloop
    
    :Syntax
    echo.
    echo Syntax:  %~n0 [Hostname oder IP]
    echo.
    echo mping
    echo.
    echo Pingt einen offline Host und gibt eine Meldung 
    echo aus, sobald er wieder online ist
    echo.
    Ich denk damit kann mar abeiten.
    Traue keiner Software die Du nicht selbst gecodet^^.

  5. #5
    Anfänger
    Registriert seit
    14.08.2007
    Beiträge
    14

    Standard

    Also...
    Ich erklär mal die situation...

    Wir haben in einem Netzwerk 20 PCs... Wenn wir nun eine Batchdatei schreiben in der alle PCs einzeln heruntergefahren werden, dann arbeitet er alle 20 PCs ab... Wenn nun aber 5 PCs aus sind, dann braucht er immer ein timeout von 30 sekunden bis er den nächsten versucht herunterzufahren... Wenn ich nun also ein script habe, das entweder alle PCs gleichzeitig herunterfährt, oder nur versucht die PCs herunterzufahren wenn sichergestellt ist das der PC an ist, dann dauert es nicht mehr so lange zwischen den einzel-pcs...

    In Hope

    TheGuardian

  6. #6
    Trojaner
    Registriert seit
    14.03.2007
    Beiträge
    87

    Standard

    Ich versteh nicht ganz wo das Problem ist (die vorigen Codes müsste man nur minimal umschreiben).

    Ich versuchs zu erklären:

    Code:
    ping [Dein Netzwerk PC]
    sendet einen Ping zum angegebenen PC.

    Code:
    echo %ERRORLEVEL%
    Gibt den ERRORLEVEL zurück. Bei erfolg ist dieser = 0, wenn etwas schief läuft ist er > 0.

    Also machst Du eine if-Abfrage, welche bei größerem ERRORLEVEL den Teil des Herunterfahrens überspringt, wenn = 0, dann aber herunterfährt.

    Code:
    if "%ERRORLEVEL%" == "0" call :HERUNTERFAHREN
    Code:
    :HERUNTERFAHREN
    shutdown -m \\Remote_PC -s -t 00
    goto :EOF
    nach

    Code:
    goto :EOF
    geht's weiter mit dem nächsten Ping.


    Eine Sache die auch noch eine Rolle spielt, welche CMD Version hast DU... welche OS... sind im Netzwerk?

    Timouts wurden ca. 4 Posts drunter diskutiert:
    http://www.free-hack.com/viewtopic.php?t=32884
    Traue keiner Software die Du nicht selbst gecodet^^.

  7. #7
    Anfänger
    Registriert seit
    14.08.2007
    Beiträge
    14

    Standard

    alles nur Windoof XP

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •