Seite 1 von 1

kleine Batch Hilfe gesucht

Verfasst: So 27. Mär 2016, 18:07
von TV-Junkie
Erst einmal ein Dank an JKit zur Hilfe beim Raspi (Raspberry Pi).
Ich bin jetzt also in der Lage, mein Syno NAS von Internet aus aufzuwecken.
Da ich das nicht für mich brauche, kann mich auch anders behelfen, bastle ich an einer einklicklösung.
Was also geht. Vom Internet aus auf das Raspi, dort ein WOL signal gestartet, ein Countdown, der Runterläuft und nach ca 2 Min den Firefox incl der Quickconnect Seite des NAS startet.
Soweit, so gut.
Jetzt hätte ich aber noch gerne zusätzlich, das dieses Batch prüft, ob das NAS an ist, dann springt es sofort zu Start Firefox, wenn nicht, geht halt das oben genannte prozedere durch.
Leider kann man nicht über den Router Pingen, so das hier auch wieder der Raspi ran muß.
Jetzt zum Problem.
Kann man in einem DOS Batch, auf einem Windwos Rechner gestartet, den Rückgabewert das Raspi Ping nutzen? Wenn ja, wie.
Da es jetzt nichts bringt, das bisherige batch hier zu posten, würde mir ein funktionierendes Lokales Batch ( nur für den Ping) reichen, was ich dann inet fähig mache.
Die IP des Raspi wäre die 192.168.1.50, die vom NAS halt die 20 am Schluß.
Was ich also brauche , ist, Ping 192.168.1.20 erfolgreich, dann gehe zu Web, wenn nicht, gehe zu Nasstart.
Ein zückerchen wäre noch, wenn das NAS nicht startet (warum auch immer), das nach der 3. Runde halt abgebrochen wird, mit Fehlermeldung
Wäre toll, wenn da einer was aus den Fingern saugt :D :

AW: kleine Batch Hilfe gesucht

Verfasst: So 27. Mär 2016, 18:20
von TV-Junkie
Ganz vergessen, über das Internet nehme ich Kontakt zu Raspi mit Plink auf (Putty). um das halt vernünftig zu testen. müßte ich das lokal wohl auch machen.

AW: kleine Batch Hilfe gesucht

Verfasst: So 27. Mär 2016, 20:40
von jkIT
Ich verwende am Raspi für den TFir-Clone fping, weil das ein kurzes Timeout hat.

Das ist einfach nachzuinstallieren:

Code: Alles auswählen

sudo apt-get install fping
Außerdem liefert es gut auszuwertende Antworten:

Code: Alles auswählen

 $ fping 192.168.1.11
192.168.1.11 is unreachable
$ fping 192.168.1.131
192.168.1.131 is alive
Im batch könntest du das dann z.B. so auswerten:

Code: Alles auswählen

set command="C:\Program Files (x86)\PuTTY\plink" 192.168.1.50 -t -batch -l raspi_User -pw raspi_Passwort fping 192.168.1.20

for /f "tokens=3" %%i in ('%command%') do set result=%%i

if %result% equ alive (
echo wach 
) else (
echo schlaeft 
)
"for /f" speichert das dritte Wort der Antwort in "result".
"echo wach" und "echo schläft" ersetzt du durch die entsprechenden Aktionen.

AW: kleine Batch Hilfe gesucht

Verfasst: Mo 28. Mär 2016, 10:48
von TV-Junkie
Cool, Danke :)

AW: kleine Batch Hilfe gesucht

Verfasst: Mo 28. Mär 2016, 13:26
von TV-Junkie
so, hier mein kleines Batch

Code: Alles auswählen

@echo off
:abfrage
set command="E:\PuTTY\plink" mein.ddns.net -t -batch -l user -pw Passwort fping 192.168.1.11
for /f "tokens=3" %%i in ('%command%') do set result=%%i
if %result% equ alive (
goto web 
) else (
goto wake 
)
:wake
"E:\PuTTY\plink" mein.ddns.net -t -batch -l user -pw Passwort wakeonlan -i 192.168.1.255 MacAdresse
cls
set /a cwn = 121
:99
set /a cwn = %cwn% -1
if "%cwn%"=="-1" goto abfrage
ping -n 2 127.0.0.1>nul
cls
echo Warte Bitte %cwn% Sekunden und keine Taste druecken :)
goto 99
:web
start firefox.exe http://quickconnect.to/mein
Na gut, könnte besser strukturiert sein, aber es rennt :) Das ganze in einer exe verpackt , diese verschlüsselt, und man sieht nur das Bitte Warten, wenn notwendig :hello:
Da ich ja sicherheitshalber nochmal Pinge, wäre es hier toll, wenn das Batch, nachdem es 3 Runden gedreht hat, und das NAS, warum auch immer nicht starten will, eine Fehlermeldung kommt. Ist bestimmt ganz einfach, habe bestimmt nur ein Brett vor dem kopf :lol: Für den Zweck, wo es gebraucht wird, reicht es auch so :u:

AW: kleine Batch Hilfe gesucht

Verfasst: Mo 28. Mär 2016, 14:17
von FireBird
TV-Junkie hat geschrieben:diese verschlüsselt

Aber den Source-Code hier posten? :und_weg: Aber sonst, nicht schlecht. :)

AW: kleine Batch Hilfe gesucht

Verfasst: Mo 28. Mär 2016, 15:00
von TV-Junkie
Es geht sich nicht um den Code, den darf jeder haben, wer will, sondern nur um die Nutzernamen, Passwörter ect, denn ohne geht es nicht. Und, das meiste kommt von jKIT.
Wegen der Schleife, ich nehme an, so funktioniert das nicht
( bzw, habe das noch nicht getestet)

Code: Alles auswählen

@echo off
:abfrage
set command="E:\PuTTY\plink" mein.ddns.net -t -batch -l user -pw Passwort fping 192.168.1.11
for /f "tokens=3" %%i in ('%command%') do set result=%%i
if %result% equ unreachable (
goto schleife 
) else (
goto web 
)
:wake
"E:\PuTTY\plink" mein.ddns.net -t -batch -l user -pw Passwort wakeonlan -i 192.168.1.255 MacAdresse
cls
set /a cwn = 121
:99
set /a cwn = %cwn% -1
if "%cwn%"=="-1" goto abfrage
ping -n 2 127.0.0.1>nul
cls
echo Warte Bitte %cwn% Sekunden und keine Taste druecken :)
goto 99
:web
start firefox.exe http://quickconnect.to/mein


:schleife
set /a zae = 1
set /a zae = %zae% +1
if "%zae%"=="4" (
goto fehler 
) else (
goto wake 
)
:fehler
echo Bitte Melden !!!!!!

AW: kleine Batch Hilfe gesucht

Verfasst: Mo 28. Mär 2016, 15:18
von TV-Junkie
Die Zählschleife funzt nicht :cry:
Wieso ?

AW: kleine Batch Hilfe gesucht

Verfasst: Mo 28. Mär 2016, 17:00
von TV-Junkie

Code: Alles auswählen

:schleife
Pause
set /a zae = %zae% +1
Pause
if "%zae%"=="4" (
echo Bitte Melden !!!!!! 
) else (
goto wake 
)
:end
Diese Schleife funktioniert schon fast, nur geht beim Erreichen von 4 das Fenster einfach zu :cry:
Das Fenster geht auch zu, wenn ich anstatt das echo ein goto Meldung eingebe, und dort halt das Echo steht

AW: kleine Batch Hilfe gesucht

Verfasst: Mo 28. Mär 2016, 17:18
von jkIT
zae wurde niemals 4, da bist du ja schon draufgekommen :wink:

Kann das an den Leerzeichen liegen?
probier mal:

Code: Alles auswählen

set /a zae=%zae%+1
Außerdem läuft das Skript nach dem Start von Firefox wieder in die Schleife.
Da fehlt ein goto :eof oder exit.

AW: kleine Batch Hilfe gesucht

Verfasst: Mo 28. Mär 2016, 17:37
von TV-Junkie
Doch , hochgezählt hat er , also bis 3 konnte ich das nachvollziehen. Dafür hatte ich ja die Pausen eingebaut um zu schauen. Aber, Du könntest trotzdem recht haben. Ich versuchs mal ohne Leerzeichen

AW: kleine Batch Hilfe gesucht

Verfasst: Mo 28. Mär 2016, 17:39
von TV-Junkie
jkIT hat geschrieben:Außerdem läuft das Skript nach dem Start von Firefox wieder in die Schleife.
Da fehlt ein goto :eof oder exit.

Soweit war ich noch nicht :lol:

AW: kleine Batch Hilfe gesucht

Verfasst: Mo 28. Mär 2016, 17:44
von TV-Junkie
Das sehe ich bis 3, vor Abfrage von 4 geht das Fenster schon zu :confused:

Code: Alles auswählen

C:\Windows\system32>if "3" == "4" (echo Bitte Melden !!!!!!  )  else (goto wake  ) 

AW: kleine Batch Hilfe gesucht

Verfasst: Mo 28. Mär 2016, 17:55
von TV-Junkie
das ist das letzte, was kommt, drücke ich jetzt eine Taste, geht das Fenster zu

Code: Alles auswählen

C:\Windows\system32>set result=Unreachable

C:\Windows\system32>set result=Unreachable

C:\Windows\system32>set result=Unreachable

C:\Windows\system32>set result=Unreachable

C:\Windows\system32>set result=unreachable

C:\Windows\system32>if unreachable EQU unreachable (goto schleife  )  else (goto web  )

C:\Windows\system32>Pause
Drücken Sie eine beliebige Taste . . .

C:\Windows\system32>set /a zae = 3+1

C:\Windows\system32>Pause
Drücken Sie eine beliebige Taste . 
P.S. hinter Firefox habe ich ein goto end angehangen, sollte so gehen :)

AW: kleine Batch Hilfe gesucht

Verfasst: Di 29. Mär 2016, 19:47
von TV-Junkie
Sodele, rennt alles wie gewünscht. Wie gut, das ich doch eine Schleife eingebaut habe, den mein NAS fährt trotz der Einstellung nicht hoch, wenn es einen Stromausfall gab. Danke Nochmal an Josef und Alex. Für euch keine Kunst, für mich schon :)
So, hier ist das Machwerk. Es prüft via Internet, ob sich Das NAS anpingen lässt, dann wird die Startseite geöffnet, wenn nicht, wird bis zu 3 mal versucht, das NAS zu wecken. Funktioniert das, geht wieder die Startseite auf. Wenn icht, gibt es eine kleine Meldung
Wer interesse hat, kann sich das gerne runterladen, aber es müssen noch Dinge auf dem Raspi installiert werden. Ggf. schreibe ich mal eine Anleitung :)
Und jetzt an die Spezies. Kann ich nochwas optimieren ?

Code: Alles auswählen

@echo off
:abfrage
set command="D:\PuTTY\plink" mein.ddns.net -t -batch -l User -pw Passwort fping 192.168.1.110
for /f "tokens=3" %%i in ('%command%') do set result=%%i
if %result% equ unreachable (
goto schleife 
) else (
goto web 
)
:wake
"D:\PuTTY\plink" mein.ddns.net -t -batch -l User -pw Passwort wakeonlan -i 192.168.1.255 00:11:12:18:13:47
cls
set /a cwn = 100
:99
set /a cwn = %cwn% -1
if "%cwn%"=="-1" goto abfrage
ping -n 2 127.0.0.1>nul
cls
echo Warte Bitte %cwn% Sekunden und keine Taste druecken :)
goto 99
:web
start firefox.exe http://quickconnect.to/mein
goto end
:schleife
set /a zae = %zae% +1
if "%zae%"=="4" (
goto meldung
) else (
goto wake 
)
:meldung
cls
echo Bitte Melden !!!!!!!!!!!!!!!!!!!!!!!!!!
echo Irgendeine Taste druecken, um das Fenster zu schliessen
Pause>nul
:end

AW: kleine Batch Hilfe gesucht

Verfasst: Mi 30. Mär 2016, 00:11
von jkIT
TV-Junkie hat geschrieben:Und jetzt an die Spezies. Kann ich nochwas optimieren ?

Wenn du schon so fragst :D

Für die Wiederverwendbarkeit des Scripts solltest du die variablen Parameter am Anfang setzen und Dokumentieren. z.B.

Code: Alles auswählen

:init
:: MAC-Adresse des aufzuweckenden Rechners
set wakeup_mac=01:02:03:04:05:06
...
... aber es müssen noch Dinge auf dem Raspi installiert werden
Das sind die 2 Pakete fping und wakeonlan

Code: Alles auswählen

sudo apt-get install fping
sudo apt-get install wakeonlan
An was lag es jetzt, dass die Schleife nicht funktionierte?

AW: kleine Batch Hilfe gesucht

Verfasst: Mi 30. Mär 2016, 19:46
von TV-Junkie
An der Pause :shock:
Hat Alex mich drauf gebracht, das das Echo Fenster sofort wieder zugehen :)

Code: Alles auswählen

:init
:: MAC-Adresse des aufzuweckenden Rechners
set wakeup_mac=01:02:03:04:05:06
Ok, wie sieht dann der Eintrag aus, der abgearbeitet wird, und, wo macht das Sinn, alles so zu dukomentieren ? MAC, IP, DDNS, Syology link ???
Was mir, wenn ich Linux kenntnisse hätte ( Und die habe ich wirklich nicht) noch lieber wäre, das quasi alles auf dem Pi läuft, also dort das batch (oder wie heißt das da? ) angestoßen wird, und nur die Rückmeldungen zu sehen sind . Aber das mache ich in meinem nächsten Leben, auuser einer sagt mir, ist ganz einfach :D
Eine Frage bleibt aber noch, und deshalb kam ich auf die nur Pi lösung. Gibt es eine elegante Möglichkeit, ohne an den Pfad in Windwos zu gehen, das man dieses batch starten kann, wo man möchte, bzw Plink z.B liegen kann, wo es will? Momentan habe ich mich auf D: festgelegt :angel:

AW: kleine Batch Hilfe gesucht

Verfasst: Do 31. Mär 2016, 13:29
von TV-Junkie
Hi, es gibt noch einen Fehler. :cry:
Ist mir einmalig aufgefallen, als ich Putty gestartet habe. Da kam ne Meldung,danach nie wieder. Die exe rennt nicht, wenn man vorher Putty nicht gestartet hat, und dann auf ja geklickt hat. Die meldung im dos Fenster sieht so ähnlich aus. Wie bekomme ich das weg, das entweder der Cache angelegt wird oder die Meldung halt unterdrückt wird in Plink und Plink dann auch durchstartet :thinker:

AW: kleine Batch Hilfe gesucht

Verfasst: Do 31. Mär 2016, 15:58
von FireBird
Wie viele Leute sollen dieses Batch ausführen? Wenn Du einmal auf "Ja" klickst, wird der RSH-Key gespeichert (Du vertraust diesem Server) und dann kommt die Meldung nicht mehr.

AW: kleine Batch Hilfe gesucht

Verfasst: Do 31. Mär 2016, 17:51
von TV-Junkie
Ja, Die Meldung kommt aber nur, wenn man Putty ausführt. Führt man PLink aus, erschein das nur, wenn man ein Dos Fenster aufmacht. Ansonsten, Keine Pause, kein Fenster :lol:
Aber, so gehts

Code: Alles auswählen

echo y | plink.exe -ssh $line.Server -l $Username -pw $Password exit
Auf Deine Frage zu Antworten, eigentlich nur 2. Aber die beiden können nur klicken. :D
Sowas wie Putty sterten, was eingeben etc, vergessen wir das. :shock:
Also, entweder bastel ich mir noch ein Install. bat, wo das oben einmalig ausgeführt wird, oder ich finde einen Trick, das so einzubauen, das die Frage nur einmal kommt