Batch fuer Windows
Hallo zusammen bin neun hier und bin auf diese Bericht gestoßen
Batch Datei mit Sekundenmeldung und Zwischenmeldungen für Shutdown u. Restart u. andere Anwendungen
jetzt zu meiner Frage gibt es da auch eine Möglichkeit
diesen bereich der Batch in der Ausgabe permanent sichtbar zu lassen so das nur der counter nach oben weg läuft?
rem -------------------------------------------------
set TIME_RST=120
set SD_TXT=--- RESTART geplant, Fenster Schiessen fuer Abbruch ---
rem -------------------------------------------------
danke schon mal für eure hilfe
mfg yazend
Batch Datei mit Sekundenmeldung und Zwischenmeldungen für Shutdown u. Restart u. andere Anwendungen
jetzt zu meiner Frage gibt es da auch eine Möglichkeit
diesen bereich der Batch in der Ausgabe permanent sichtbar zu lassen so das nur der counter nach oben weg läuft?
rem -------------------------------------------------
set TIME_RST=120
set SD_TXT=--- RESTART geplant, Fenster Schiessen fuer Abbruch ---
rem -------------------------------------------------
danke schon mal für eure hilfe
mfg yazend
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 98449
Url: https://administrator.de/contentid/98449
Ausgedruckt am: 22.11.2024 um 19:11 Uhr
11 Kommentare
Neuester Kommentar
Hallo yazend und willkommen im Forum!
Versuch es einmal mit der folgenden Zeile als Ersatz für die Zeile 29 des Original-Batches:
Wenn Du mehrere Zeilen "konstant" halten möchtest, einfach am Anfang mit zB
festlegen und wie folgt einbauen:
Für Leerzeilen sorgen die eingestreuten "echo\".
Für eine (noch) größere Anzahl an immer sichtbaren Zeilen könntest Du den Batch insgesamt so abwandeln:
Der Teil ab Zeile 12 steht immer im oberen Fensterbereich.
Grüße
bastla
Versuch es einmal mit der folgenden Zeile als Ersatz für die Zeile 29 des Original-Batches:
FOR %%p IN (0 1 2 3 4 5 6 7 8 9) do FOR %%i IN (0 1 2 3 4 5 6 7 8 9) do FOR %%n IN (0 1 2 3 4 5 6 7 8 9) do ((if %%n==0 cls & echo\ & echo\ & echo %SD_TXT% & echo\) & (echo %%p%%i%%n von %TIME_RST% sec) & (ping 127.0.0.1 -n 2 -w 2000 > nul) & (if %%p%%i%%n==%TIME_RST% goto END_EX1))
set "SD_TXT2=Auch diese Zeile ist immer sichtbar ..."
set "SD_TXT3=... und diese auch noch."
FOR %%p IN (0 1 2 3 4 5 6 7 8 9) do FOR %%i IN (0 1 2 3 4 5 6 7 8 9) do FOR %%n IN (0 1 2 3 4 5 6 7 8 9) do ((if %%n==0 cls & echo\ & echo\ & echo %SD_TXT% & echo %SD_TXT2% & echo %SD_TXT3% & echo\) & (echo %%p%%i%%n von %TIME_RST% sec) & (ping 127.0.0.1 -n 2 -w 2000 > nul) & (if %%p%%i%%n==%TIME_RST% goto END_EX1))
Für eine (noch) größere Anzahl an immer sichtbaren Zeilen könntest Du den Batch insgesamt so abwandeln:
@echo off & setlocal
set TIME_RST=120
FOR %%p IN (0 1 2 3 4 5 6 7 8 9) do FOR %%i IN (0 1 2 3 4 5 6 7 8 9) do FOR %%n IN (0 1 2 3 4 5 6 7 8 9) do ((if %%n==0 call :Header) & (echo %%p%%i%%n von %TIME_RST% sec) & (ping 127.0.0.1 -n 2 -w 2000 > nul) & (if %%p%%i%%n==%TIME_RST% goto END_EX1))
:END_EX1
echo --- RESTART ! ------ RESTART ! ------ RESTART ! ------ RESTART ! ---
rem shutdown -r -t 0
goto :eof
:Header
cls
echo\
echo **********************************************************
echo RESTART in %TIME_RST% Sekunden !
echo **********************************************************
echo\
echo --- RESTART geplant, Fenster schliessen fuer Abbruch ---
echo Auch diese Zeile ist immer sichtbar ..."
echo ... und diese auch noch."
echo\
goto :eof
Grüße
bastla
Hallo yazend!
Grüße
bastla
und irgend scheint mir etwas falsch zu sein an dem Scrip da der Neustart nicht ausgeführt wird ???
Solange das "rem" vor dem "shutdown"-Befehl steht, wird dieser nicht ausgeführt (was beim Testen ja auch angenehmer ist ).goto :eof
versteh ich nicht ganz da ich die Funktionsweise auch nicht kenne,
"goto :eof" beendet den Batch (Zeile 9) bzw ein mit "call" aufgerufenes Unterprogramm (Zeile 22) - da ich nicht wusste, ob Du den Batch für einen anderen Zweck als das Herunterfahren/Neustarten einsetzen willst, habe ich zur Sicherheit beide an den entsprechenden Stellen platziert - damit könntest Du vor und nach dem Unterprogramm auch noch andere Befehle unterbringen.versteh ich nicht ganz da ich die Funktionsweise auch nicht kenne,
Grüße
bastla
Hallo yazend!
erzeugen ([Edit] Hast Du inzwischen schon selbst ergänzt [/Edit]). Falls auch für diese 100 Sekunden ein Zähler laufen soll, kannst Du ja im Prinzip den gleichen Batch wie für das Herunterfahren verwenden ...
Grüße
bastla
somit sehe ich das richtig das ich dem Ganzen noch eine eingabe hinzufügen kann z.B.
Warten auf eingaben 1= Herunterfahren, 2=Neustrat
Im einfachsten Fall so, dass, außer bei Eingabe von 2, "Herunterfahren" gewählt wird:Warten auf eingaben 1= Herunterfahren, 2=Neustrat
:Frage
set Action=s
set Eingabe=
set /p "Eingabe=Herunterfahren (1) oder Neustart (2)? "
if not defined Eingabe goto :Frage
if %Eingabe:~,1%==2 set Action=r
...
...
shutdown -%Action% -t 0
Dann kommt noch eines hinzu das ich gerne den befehl
msg *.* Neustart/Herunterfahren folgt in kürze
mit Wartezeit von ca. 100sec noch darin hätte
Wie meinst Du das genau? Ein Pause von (annähernd) 100 Sekunden ohne Anzeige kannst Du mitmsg *.* Neustart/Herunterfahren folgt in kürze
mit Wartezeit von ca. 100sec noch darin hätte
ping 127.0.0.1 -n 100>nul
Grüße
bastla
Hallo yazend!
Grüße
bastla
er soll mit 1 oder 2 Herunter fahren oder Neu Starten
aber er macht auch weiter mit f oder egal was ich eingebe weiter und geht nicht zurück zur Frage
Na ja, wenn Du so streng sein willst :aber er macht auch weiter mit f oder egal was ich eingebe weiter und geht nicht zurück zur Frage
:Frage
set Action=s
set Eingabe=
set /p "Eingabe=Herunterfahren (1) oder Neustart (2)? "
if not defined Eingabe goto :Frage
if "%Eingabe:~,1%"=="2" set Action=r & goto :Weiter
if "%Eingabe:~,1%" neq "1" goto :Frage
:Weiter
if %Action%==s echo Gewaehlte Aktion: Herunterfahren
if %Action%==r echo Gewaehlte Aktion: Neustart
...
...
shutdown -%Action% -t 0
kann ich mir auch anzeigen lassen was ich gesetzt habe oder was der script gerade macht?
Am einfachsten, indem Du am Anfang "echo off" auf "echo on" änderst - so wird jeder Befehl vor der Ausführung angezeigt.Grüße
bastla