PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Batch Frage



G_o_T_o
08.10.2007, 13:42
Ich möchte gerne ein Batch Skript machen wo man z.B 1 drücken muss um den PC runterzufahren.

Also das hab ich grade gemacht:


@echo off
color 4

echo Druecke 1 um den PC herunterzufahren
echo Druecke 2 dich abzumelden
PAUSE


So jetzt weiß ich aber nicht wie ich den Befehl zum Laufen krieg dass der Befehl sich ausführt, also 1=Herunterfahren.

Kann mir wer helfen?

MfG GoTo

PS: Ich habe Windows XP.

Nero
08.10.2007, 17:13
Hi,

versuchs ma so:




@ echo off
color 4

echo Druecke 1, um den PC herunterzufahren
echo Druecke 2, um dich abzumelden
pause > nul


Soweit ich weiß, musst du zwischen dem "@" und dem "echo" in der ersten Zeile auch ein Leerzeichen verwenden.

Und dann hab ich aus dem "pause" ein "pause > nul" gemacht, dass hat zur Folge, dass hierbei nicht mehr der Text "Druecken Sie eine beliebige Taste, um fortzufahren" erscheint, du aber jedoch trotzdem die Taste drücken musst!
Aber die Aufforderung hast du ja auch schon in den echos davor ;)

Des weiteren glaube ich, dass dein Problem mit if zu lösen sein, könnte!


Aber vllt. hilft dir das hier (http://www.its05.de/html/stapelverarbeitung_s2.html) weiter.


MfG,

mo

IcE_FiGhTeR
08.10.2007, 17:31
set /p zahl=Hier einen von den obenengennanten Zahlen eingeben :
if "%zahl%" == "1" goto runterfahren
if "%zahl%" == "2" goto abmelden



Hoffe das hilft ;)

Nero
08.10.2007, 17:44
Ja, gut und da hängst du das dran:




:runterfahren
C:\WINDOWS\system32\shutdown.exe

:abmelden
C:\WINDOWS\system32\logoff.exe


also, wenn wir alles zusammenfasse, müsste der fertige Code so lauten:



@ echo off
color 4

echo Druecke 1, um den PC herunterzufahren
echo Druecke 2, um dich abzumelden
pause > nul

set /p zahl=was muss hier hin??? :
if "%zahl%" == "1" goto runterfahren
if "%zahl%" == "2" goto abmelden

:runterfahren
C:\WINDOWS\system32\shutdown.exe

:abmelden
C:\WINDOWS\system32\logoff.exe




Ok, ich hab den obrigen Code getestet!

Das Stück

zahl=??? :

macht i-wie nur Fehler!

Deshalb hab ich das Stück rausgeschmissen und schwupp die wupp, haut alles ohne Fehler hin^^

Also, hier der entgültige Code, der auch 100% funkt!
Das einzige, das du beachten musst ist, der Pfad von WINDOWS ;)



@ echo off
color 4

echo Druecke 1, um den PC herunterzufahren
echo Druecke 2, um dich abzumelden
pause > nul

set /p
if "%zahl%" == "1" goto runterfahren
if "%zahl%" == "2" goto abmelden

:runterfahren
C:\WINDOWS\system32\shutdown.exe

:abmelden
C:\WINDOWS\system32\logoff.exe


MfG,

Mo

big earl
08.10.2007, 18:21
Also dieses "zahl" müsste so heisen "%Zahl%" denn der gibt die variable an

da du nur eine hast ist es egal wennde die weglässt

aber ansonnsten schreibt man , wenn man mehrere hat das so


set /P [dann hier ein name für die Variable]=

if %[der name deiner Variable]%== [hier dann die angabe] goto 10 [und hier dann was der machen soll]

Nero
08.10.2007, 18:25
Sry, ich checks grad net sooo ganz... -.-

kannst du mal ein beispiel posten oder mir per PM schicken?

Irgendwas einfaches vllt. mit drei Zahlen?

Du bekommst du auch einen Steam Acc dafür!

G_o_T_o
08.10.2007, 18:41
OK! Vielen Dank!

Hilft mir weiter!

Hamachi-1
08.10.2007, 20:58
ui das ist standart wissen ..
so wie es oben beschrieben wurde ist es richtig!!
habe mal mit den obengenannten codes alles zusammen
gewürfelt wie der dann kommplet aussehen soll ..


:start
@echo off
color 4
echo.
echo Druecke 1 um den PC herunterzufahren
echo Druecke 2 dich abzumelden
echo.
echo.
echo.

set /p zahl=Hier einen von den obenengennanten Zahlen eingeben :
if "%zahl%" == "1" goto runterfahren
if "%zahl%" == "2" goto abmelden
goto start

:runterfahren
shutdown -s -t10
goto start

:abmelden
C:\WINDOWS\system32\logoff.exe
goto start


--> Ich denke mal das alles richtig geschrieben ist ..

Mfg Hamachi-1

Nero
09.10.2007, 14:58
Das :start und "goto start"

kannste dir schenken, da du entweder abgemeldet oder der Pc heruntergefahren wird^^

big earl
12.10.2007, 15:11
Sry, ich checks grad net sooo ganz... -.-

kannst du mal ein beispiel posten oder mir per PM schicken?

Irgendwas einfaches vllt. mit drei Zahlen?

Du bekommst du auch einen Steam Acc dafür!

lol Steam acc. für batch -.-

na wennde was bestimmtes willst kann ich dir das per pm oder so schicken

Jack-[BIGBOSS]
14.10.2008, 21:04
kann man dat auch mit anstatt runter fahren machen, dat die nachricht: du bist scheiße oder so da steht???
wenn ja bitte erklären...

Dark^CronicLe
14.10.2008, 21:08
msg * du bist scheiße

So lautet der Code ;)

Jack-[BIGBOSS]
14.10.2008, 21:16
is dat richtig????




:start
@echo off
color 4
echo.
echo Druecke 1 um hallo zu sehen
echo Druecke 2 um hi zu sehen
echo.
echo.
echo.

set /p zahl=Hier einen von den obenengennanten Zahlen eingeben :
if "%zahl%" == "1" goto hallo
if "%zahl%" == "2" goto hi
goto start

:hallo
msg hallo

:hi
msg hi

Dark^CronicLe
14.10.2008, 21:18
Probiere es doch ;)
Aber ich glaube eher das hier:


@echo off
color 4
echo.
echo Druecke 1 um hallo zu sehen
echo Druecke 2 um hi zu sehen
echo.
echo.
echo.

:start
set /p zahl=Hier einen von den obenengennanten Zahlen eingeben :
if "%zahl%" == "1" goto hallo
if "%zahl%" == "2" goto hi
goto start

:hallo
msg * hallo
goto start

:hi
msg * hi
goto start

@echo immer als erstes!

Jack-[BIGBOSS]
14.10.2008, 21:20
ok danke werde auch dieses ausprobieren^^

//edit:


noch ne frage^^

kann man danach auch zu goto xxxx machen um dat zu erweitern???
also "next" anstatt "start"

Dark^CronicLe
14.10.2008, 21:27
z.b.:


@echo off
color 4
echo.
echo Druecke 1 um hallo zu sehen
echo Druecke 2 um hi zu sehen
echo.
echo.
echo.

:start
set /p zahl=Hier einen von den obenengennanten Zahlen eingeben :
if "%zahl%" == "1" goto hallo
if "%zahl%" == "2" goto hi
goto start

:hallo
msg * hallo
goto end

:hi
msg * hi
goto start

:end
msg * the end

Würde auch funktionieren!

Brainfuck ++
14.10.2008, 21:27
wie meinst du das jetzt genau !?
helfen dir dann gerne...aber verstehe deine frage leider nicht :(

Jack-[BIGBOSS]
14.10.2008, 21:30
also:

man könnte dat ja wie en quiz aufbauen und nach der frage ne neue machen, aba wenn da steht "goto start" geht dat schlecht, wie muss man dat sonst machen?

Brainfuck ++
14.10.2008, 21:33
also ... meinst du das z.B so...



if "%zahl%" == "1" goto next_frage
else goto falsch

:richtig
echo wunderbar...next frage
echo blalalalalall (frage)
pause > nul

:falsch
shutdown -t 01


meinst du das so !?
weil so könnte es gehen ^^

Dark^CronicLe
14.10.2008, 21:34
kla könnte man ein quiz aufbauen, ist auch sehr einfach aber gerade echt keine lust dir ein beispiel aufzubauen :D:D

Aber denk ein wenig nach, denke du wirst selbst auf die Lösung kommen ;)

Jack-[BIGBOSS]
14.10.2008, 21:35
ja meine frage war ja vorher ob man anstatt goto start auch goto xxx eingeben könnte

Brainfuck ++
14.10.2008, 21:37
klar

du kannst doch einen beliebigen sprunpunkt nehmen ;-)
im beispiel ist das nur so gemacht dann mit man immer wieder ins menü kommt ;-)

kannst aber gerne hinspringen wohin du willst...hoffe das hat die geholfen

Jack-[BIGBOSS]
14.10.2008, 21:39
ja sehr^^ danke

falls ich probleme hab werd ich mich hier wieda melden

Brainfuck ++
14.10.2008, 21:41
alles klar ;-)

immer wieder gerne...batch rulZ ^^

Jack-[BIGBOSS]
14.10.2008, 21:48
so^^

wat is wenn man buchstaben haben will anstatt zahlen...

muss man dann anstatt "%zahl%" ""%wort%""
schreiben`?

Brainfuck ++
14.10.2008, 21:50
hmn bist wohl ein waschechter anfänger^^

"%zahl%" ist nur ein variablen name ^^ kannst da irgenwas reinschreiben !
das steht nicht für eine zahl , sondern die Variable heisst nur " zahl "

kannst auch "%blaaa%" machen ;-) wäre das selbe

Jack-[BIGBOSS]
14.10.2008, 21:56
achso.... danke^^

ja ich hab mich noch nieeeeeeee mit batch beschäftigt sry aba interessiert mich