Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

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

Batch Datei erstellen mit Optionen auswahl ,die dann ausgeführt werden.

Frage Entwicklung Batch & Shell

Mitglied: 57894

57894 (Level 1)

25.11.2007, aktualisiert 26.11.2007, 22089 Aufrufe, 5 Kommentare

Batch Neuling

Hallo,

würde gerne eine Batch Datei erstellen, die mir beim Start die Auswahl gibt, für:

Rechner Abmelden
Rechner Neustart
Rechner Herunterfahren

und die gewählte Option dann auch Ausführt.

Wie müsste ich die Datei erstellen?

Danke im Vorraus.
Mitglied: miniversum
25.11.2007 um 12:23 Uhr
01.
@echo off 
02.
echo Was wollen sie tun? 
03.
echo Rechner (A)bmelden 
04.
echo Rechner (N)eustart 
05.
echo Rechner (H)erunterfahren 
06.
:auswahl 
07.
set /P wahl=Bitte waehlen:  
08.
if /i "%wahl%"=="A" goto:abmelden 
09.
if /i "%wahl%"=="N" goto:neustart 
10.
if /i "%wahl%"=="H" goto:herunterfahren 
11.
echo Falsche Auswahl! 
12.
goto:auswahl 
13.
 
14.
:abmelden 
15.
shutdown -l 
16.
goto:eof 
17.
 
18.
:neustart 
19.
shutdown -r 
20.
goto:eof 
21.
 
22.
:herunterfahren 
23.
shutdown -s 
24.
goto:eof
miniversum
Bitte warten ..
Mitglied: Wolf666
25.11.2007 um 12:28 Uhr
01.
:anfang 
02.
echo off 
03.
echo ############################################## 
04.
echo ####                                      #### 
05.
echo ####         Bitte Auswahl treffen        #### 
06.
echo.####                                      #### 
07.
echo ####   1 = abmelden                       #### 
08.
echo ####   2 = neu starten                    #### 
09.
echo ####   3 = herunterfahren                 #### 
10.
echo ####   0 = exit                           #### 
11.
echo ####                                      #### 
12.
echo ############################################## 
13.
echo. 
14.
set /P auswahl=Bitte Auswahl treffen (1, 2, 3, oder o) 
15.
 
16.
 
17.
if errorlevel 4 goto abmelden 
18.
if errorlevel 3 goto neu 
19.
if errorlevel 2 goto aus 
20.
if errorlevel 1 goto exit 
21.
 
22.
:abmelden 
23.
shutdown /l 
24.
goto ende 
25.
 
26.
:neu 
27.
shutdown /r 
28.
goto ende 
29.
 
30.
:aus 
31.
shutdown /s 
32.
goto ende 
33.
 
34.
:exit 
35.
goto ende
üps da war woll einer schneller ----

[Edit Biber] Als <code> formatiert. [/Edit]
Bitte warten ..
Mitglied: Biber
25.11.2007 um 13:22 Uhr
Moin Haiwaldiver,

willkommen im Forum.

Zwei Anmerkungen noch von mir als einem der Moderatoren in "Batch & Shell".

Wie Du erlebt hast, bekommst Du hier auch fertige, einsetzbare Lösungen schneller als Du "Ereignisanzeigeprotokollierungsoptionsauswahl" sagen kannst.
Das spricht sehr für die Souveränität der Forumsmitglieder (THX @miniversum und THX @Wolf666).
Dennoch ist es eher ein untergeordnetes Ziel, dass hier "Fertig-Lösungen" bereitgestellt werden.
Eher erstrebenswert ist ein Erklären in der Form, dass der Fragesteller hinterher nicht nur in Lage ist, das konkrete akute Problem abzuhaken, sondern auch verstanden hat, was da passiert. Und beim nächsten Problem auch den geistigen Transfer selbst schafft.

Deshalb ist es (auch als Batch-Neuling) sinnvoller zu posten:
"Diesen Code/diese Skizze habe ich bis jetzt - nun weiß ich nicht weiter."
Eine schrittweise erweiterte/verfeinerte Lösung ist für Dich als FragestellerIn meist hilfreicher als ein professionell runtergetippter 30-Zeilen-Musterschnipsel.

Zweite Anmerkung: Bitte verkneif Dir die Formulierung "Danke im Vorraus."
Ist nicht so beliebt hier. Lieber Rückmeldung/Feedback geben.

Grüße
Biber
Bitte warten ..
Mitglied: 57894
26.11.2007 um 08:25 Uhr
Hi,
egal welche Auswahl ich nehme , wird ein Shutdown ausgeführt.
Kann das an den Erweiterungen ( /l /r /s ) liegen , die nicht erkannt werden?
Bitte warten ..
Mitglied: miniversum
26.11.2007 um 10:55 Uhr
Also meinen hab ich getestet udn der soltle eigentlich gehen.
Bei dem von Wolf666 wird denke ich so vom ansehen her das Problem in folgendem Bereich des Codes liegen:
01.
set /P auswahl=Bitte Auswahl treffen (1, 2, 3, oder o) 
02.
 
03.
 
04.
if errorlevel 4 goto abmelden 
05.
if errorlevel 3 goto neu 
06.
if errorlevel 2 goto aus 
07.
if errorlevel 1 goto exit 
08.
 
09.
:abmelden 
10.
shutdown /l 
11.
goto ende
Die Eingabe wird in der Variabeln %auswahl% gespeichert, abgefragt wird aber errorlevel, der immer 0 sein sollte und ja auch nicht durch die Eingabe verändert wird.
Dadurch das vor dem :abmelden kein Rücksprung oder ein Sprung zum Ende gemacht ist, in Kombination mit dem Errorlevel der immer 0 ist und daher keine der If-Bedingungen anspricht, läuft die Batch immer in abmelden rein und Windows meldet immer den Benutzer ab.
Ersetze den shutdown mal duch ein echo, dan siehst Du was passiert.

Schau dir mal die Hilfe zu den entsprechenden Befehlen an. also set /?, shutdown /? und eventuel If /?

miniversum
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
gelöst Verlinkung erstellen Batch Datei mit for Schleife (2)

Frage von rusdav zum Thema Batch & Shell ...

Batch & Shell
Batch Datei wird per Aufgabenplanung nicht ausgeführt (7)

Frage von Corraggiouno zum Thema Batch & Shell ...

Entwicklung
gelöst Verzeichnise sichern mit batch datei (Win10) (13)

Frage von Limbach zum Thema Entwicklung ...

Batch & Shell
gelöst Dateinamen mit Batch-Datei ändern - Problem (9)

Frage von fffffuuuuuuuhhhh zum Thema Batch & Shell ...

Neue Wissensbeiträge
RedHat, CentOS, Fedora

Fedora, RedHat, Centos: DNS-Search Domain setzen

(2)

Tipp von Frank zum Thema RedHat, CentOS, Fedora ...

Drucker und Scanner

Samsung SL-M4025ND, firmware update und (kompatible) Tonerkassetten

(1)

Erfahrungsbericht von markus-1969 zum Thema Drucker und Scanner ...

Router & Routing

PfSense auf Supermicro Intel Xeon D-15x8 SoC Bare Bone

Tipp von Dobby zum Thema Router & Routing ...

Heiß diskutierte Inhalte
Windows 10
Windows für Privatanwender "nicht mehr handhabbar" (26)

Frage von FA-jka zum Thema Windows 10 ...

LAN, WAN, Wireless
Brauche Hilfe: Mit (schnellem) WLAN Strecke überbrücken (23)

Frage von pierrehansen zum Thema LAN, WAN, Wireless ...

Basic
Programmierung von Windows Programmen (10)

Frage von Ghost108 zum Thema Basic ...