Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Batch fuer Windows

Frage Entwicklung Batch & Shell

Mitglied: yazend

yazend (Level 1) - Jetzt verbinden

04.10.2008, aktualisiert 23.10.2012, 3973 Aufrufe, 11 Kommentare

Hallo zusammen bin neun hier und bin auf diese Bericht gestoßen
http://www.administrator.de/wissen/batch-datei-mit-sekundenmeldung-und- ...

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
Mitglied: bastla
04.10.2008 um 20:43 Uhr
Hallo yazend und willkommen im Forum!

Versuch es einmal mit der folgenden Zeile als Ersatz für die Zeile 29 des Original-Batches:
01.
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))
Wenn Du mehrere Zeilen "konstant" halten möchtest, einfach am Anfang mit zB
01.
set "SD_TXT2=Auch diese Zeile ist immer sichtbar ..." 
02.
set "SD_TXT3=... und diese auch noch."
festlegen und wie folgt einbauen:
01.
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 Leerzeilen sorgen die eingestreuten "echo\".
Für eine (noch) größere Anzahl an immer sichtbaren Zeilen könntest Du den Batch insgesamt so abwandeln:
01.
@echo off & setlocal 
02.
set TIME_RST=120 
03.
 
04.
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)) 
05.
:END_EX1 
06.
echo --- RESTART ! ------ RESTART ! ------ RESTART ! ------ RESTART ! --- 
07.
rem shutdown -r -t 0 
08.
 
09.
goto :eof 
10.
:Header 
11.
cls 
12.
echo\ 
13.
echo ********************************************************** 
14.
echo        RESTART  in  %TIME_RST%  Sekunden ! 
15.
echo ********************************************************** 
16.
echo\ 
17.
echo --- RESTART geplant, Fenster schliessen fuer Abbruch --- 
18.
echo Auch diese Zeile ist immer sichtbar ..." 
19.
echo ... und diese auch noch." 
20.
echo\ 
21.
goto :eof
Der Teil ab Zeile 12 steht immer im oberen Fensterbereich.

Grüße
bastla
Bitte warten ..
Mitglied: yazend
04.10.2008 um 21:41 Uhr
Schon mal vielen Dank für das Herzliche Willkommen und deine Antwort :o)


Also es funktioniert so wie ich es gerne hätte -TOP DING-
nur das mit dem
goto :eof
versteh ich nicht ganz da ich die Funktionsweise auch nicht kenne,

und irgend scheint mir etwas falsch zu sein an dem Scrip da der Neustart nicht ausgeführt wird ???

mfg yazend
Bitte warten ..
Mitglied: bastla
04.10.2008 um 21:51 Uhr
Hallo yazend!

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.

Grüße
bastla
Bitte warten ..
Mitglied: yazend
04.10.2008 um 22:04 Uhr
ah ok, klar den rem hab ich voll außer acht gelassen ist klar kann nicht gehen !

somit sehe ich das richtig das ich dem Ganzen noch eine eingabe hinzufügen kann
z.B.

Warten auf eingaben 1= Herunterfahren, 2=Neustrat

Weil so könnte ich das ganze im Home Netzwerk einfach machen um den PC/Notebook per Remote herunter zu fahren und fals da jemand am PC sitzt er zwar mit X die Möglichkeit hat abzubrechen oder mit 1 oder 2 die Auswahl zu starten


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
könnt ich das einfach mit sleep 100 machen

@echo off
msg *.* Restatr/Shutdown
ping -n 101 127.0.0.1 > NUL

ich weis es ist viel in einer Batch aber cool währ es schon wenn realisierbar

mfg yazend
Bitte warten ..
Mitglied: bastla
04.10.2008 um 22:22 Uhr
Hallo yazend!

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:
01.
:Frage 
02.
set Action=s 
03.
set Eingabe= 
04.
set /p "Eingabe=Herunterfahren (1) oder Neustart (2)? " 
05.
if not defined Eingabe goto :Frage 
06.
if %Eingabe:~,1%==2 set Action=r 
07.
... 
08.
... 
09.
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 mit
01.
ping 127.0.0.1 -n 100>nul
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
Bitte warten ..
Mitglied: yazend
04.10.2008 um 22:41 Uhr
Sorry das ich immer noch nachfrage ich versteh zwar was der script machen soll aber ich versteh es nicht

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

kann ich mir auch anzeigen lassen was ich gesetzt habe oder was der script gerade macht?
Bitte warten ..
Mitglied: bastla
04.10.2008 um 22:53 Uhr
Hallo yazend!

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 :
01.
:Frage 
02.
set Action=s 
03.
set Eingabe= 
04.
set /p "Eingabe=Herunterfahren (1) oder Neustart (2)? " 
05.
if not defined Eingabe goto :Frage 
06.
if "%Eingabe:~,1%"=="2" set Action=r & goto :Weiter 
07.
if "%Eingabe:~,1%" neq "1" goto :Frage 
08.
 
09.
:Weiter 
10.
if %Action%==s echo Gewaehlte Aktion: Herunterfahren 
11.
if %Action%==r echo Gewaehlte Aktion: Neustart 
12.
... 
13.
... 
14.
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
Bitte warten ..
Mitglied: yazend
04.10.2008 um 23:12 Uhr
Hallo bastla,
und wo hab ich da jetzt noch was falsch da immer noch weiter gezählt wird und weder Neustart noch Herunterfahren ausgeführt wird
01.
@echo off 
02.
msg *.* Neustart/Herunterfahren folgt in Kuerze 
03.
ping -n 5 127.0.0.1 > NUL 
04.
 
05.
:Frage 
06.
set Action=s 
07.
set Eingabe= 
08.
set /p "Eingabe=Herunterfahren (1) oder Neustart (2)? " 
09.
if not defined Eingabe goto :Frage 
10.
if "%Eingabe:~,1%"=="1" set Action=s & goto :Weiter 
11.
if "%Eingabe:~,1%"=="2" set Action=r & goto :Weiter 
12.
if "%Eingabe:~,1%" neq "1" goto :Frage 
13.
 
14.
:Weiter 
15.
echo Gewaehlte Aktion: %Action% 
16.
 
17.
@echo off & setlocal 
18.
set TIME_RST=90 
19.
 
20.
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)) 
21.
:END_EX1 
22.
echo --- RESTART ! ------ POWER OFF ! ------ RESTART ! ------ POWER OFF ! --- 
23.
shutdown -%Action% -t 0 
24.
 
25.
goto :eof 
26.
:Header 
27.
cls 
28.
echo\ 
29.
echo  ********************************************************** 
30.
echo             ACTION  in  %TIME_RST%  Sekunden ! 
31.
echo  ********************************************************** 
32.
echo\ 
33.
echo --- ACTION geplant, Fenster schliessen fuer Abbruch --- 
34.
echo\ 
35.
echo            --- Im Notfall Stecker Ziehen --- 
36.
echo\ 
37.
goto :eof
mfg yazend
Bitte warten ..
Mitglied: bastla
04.10.2008 um 23:22 Uhr
Hallo yazend!

Da der Zähler dreistellig ausgelegt ist, muss auch die Dauer so geschrieben werden, also:
01.
set "TIME_RST=090"
Noch eine Kleinigkeit: Die Zeile 17 kannst Du entfernen bzw als Zeile 1 verwenden.

Grüße
bastla
Bitte warten ..
Mitglied: yazend
04.10.2008 um 23:36 Uhr
Vielen vielen Dank für deine Hilfe

Passt geht jetzt kommen nur noch Schönheit´s Korrekturen.
und ein wenig Testerrei

Grüße yazend
Bitte warten ..
Mitglied: Biber
05.10.2008 um 00:03 Uhr
<OT>
Jessas, yazend,
Passt geht jetzt kommen nur noch Schönheit´s Korrekturen.und ein wenig Testerrei
Bitte fange direkt in Deinem letzten Kommentar mit den Schönheiz-Korrektouren an...

SCNR
Biber
</OT>
Bitte warten ..
Ähnliche Inhalte
Ubuntu
Freigaben fuer Windows Clients und Zugriffsrechte
Frage von mike7050Ubuntu3 Kommentare

Hallo zusammen, ich teile einfach einmal mit was z.Z. eingerichtet ist, was ich dann vorhabe und was schon neu ...

Grafikkarten & Monitore
Was habe ich fuer eine Grafikkarte?
Frage von airlineGrafikkarten & Monitore24 Kommentare

Hallo und guten Tag, ich stehe vor dem Problem, das ich eine neue Grafikkarte erworben habe und nicht weiss, ...

Windows Server
Welches Konzept fuer Adminaccounts in der AD
Frage von winlinWindows Server9 Kommentare

Hallo Leute, ich möchte in meinem AD die Adminaccounts separieren um möglichst wenig Angriffsfläche zu bieten. Das wäre einer ...

Batch & Shell
Windows Batch
Frage von santamariaBatch & Shell2 Kommentare

Hallo Ich habe eine umfangreiche CSV-Datei, bei der ich einige Spalten auslesen will und diese in eine neue CSV-Datei ...

Neue Wissensbeiträge
Windows 10

Autsch: Microsoft bündelt Windows 10 mit unsicherer Passwort-Manager-App

Tipp von kgborn vor 2 TagenWindows 106 Kommentare

Unter Microsofts Windows 10 haben Endbenutzer keine Kontrolle mehr, was Microsoft an Apps auf dem Betriebssystem installiert (die Windows ...

Sicherheits-Tools

Achtung: Sicherheitslücke im FortiClient VPN-Client

Tipp von kgborn vor 2 TagenSicherheits-Tools

Ich weiß nicht, wie häufig die NextGeneration Endpoint Protection-Lösung von Fortinet in deutschen Unternehmen eingesetzt wird. An dieser Stelle ...

Internet

USA: Die FCC schaff die Netzneutralität ab

Information von Frank vor 2 TagenInternet5 Kommentare

Jetzt beschädigt US-Präsident Donald Trump auch noch das Internet. Der neu eingesetzte FCC-Chef Ajit Pai ist bekannter Gegner einer ...

DSL, VDSL

ALL-BM200VDSL2V - Neues VDSL-Modem mit Vectoring von Allnet

Information von Lochkartenstanzer vor 2 TagenDSL, VDSL2 Kommentare

Moin, Falls jemand eine Alternative zu dem draytek sucht: Gruß lks

Heiß diskutierte Inhalte
Batch & Shell
Kann man mit einer .txt Datei eine .bat Datei öffnen?
gelöst Frage von HelloWorldBatch & Shell20 Kommentare

Wie schon im Titel beschrieben würde ich gerne durch einfaches klicken auf eine Text oder Word Datei eine Batch ...

LAN, WAN, Wireless
WLAN Reichweite erhöhen mit neuer Antenne
gelöst Frage von gdconsultLAN, WAN, Wireless9 Kommentare

Hallo, ich besitze einen TL-WN722N USB-WLAN Dongle mit einer richtigen Antenne. Ich frage mich jetzt ob man die Reichweite ...

Router & Routing
Wieso kann ich den UPD 7000-9000 nicht freigeben?
Frage von Jayk0bRouter & Routing8 Kommentare

Router: Telekom W 723V Ports: UDP 7000-9000 Können nicht frei gegeben werden. Benutzgrund: Rocket League 7000 – 9000 UDP ...

Router & Routing
Fritzbox Gastnetz - exposed Host - zur Sophos IPTV
Frage von medikopterRouter & Routing8 Kommentare

Hallo zusammen, ich habe eine Frage bezüglich des Fritz box Gastzugangs an einer Sophos UTM Home. An liebsten wäre ...