Menü erstellen

  • #1
Ö

Örv

Guest
Hallo Profis!

Ich möchte gerne mittels einer .bat datei ein menü starten (wie z.b. ) jedoch mit anderen punkten ist klar!

je nachdem was ich drücke soll dann als 1.bat oder 2.bat hinterlegt sein.

gibts einen Standard für sowas, und wie nennt man sowas überhaupt?

Sorry, bin totaler Anfänger / Newbie!

Danke und Gruß

Örv
 
  • #2
Das Kommando choice wartet auf einen Tastendruck und gibt einen Wert zurück, der dann per if errorlevel ausgewertet werden kann:

Code:
@echo off 
:start            
cls

echo     ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
echo     º   Tools    º
echo     ÌÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ͹
echo     º E) Notepad     º
echo     º 1) Batch 1     º
echo     º X) Exit      º
echo     ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ

echo Bitte druecken Sie E, 1 oder X.
choice /N /C:E1X
if errorlevel 3 goto exit
if errorlevel 2 goto batch1
if errorlevel 1 goto notepad

:batch1
start batch1
GOTO exit

:notepad
start notepad
GOTO start

:exit
cls

Für komplexere - bzw. optisch etwas ansprechendere - Menüs gibt es Programme, die, gesteuert von einer Textdatei, welche das Menü beschreibt, Menüs anzeigen und einen entsprechenden Code zurückgeben, der dann wie oben ausgewertet werden kann.
 
  • #3
@Dings

Danke, ich sehe zwar die Maske aber er hat etwas gegen den Befehl Choice?!?
Habe zwar gegoogelt, aber ohne Kenntnisse tue ich mir da doch etwas schwer!
Kannst du mir aus dem stegreif vielleicht sagen was ich anstatt choice nehmen kann? XP Prof SP2 ist übrigens mein System falls du das auch brauchst :|
 
  • #4
so, choice problem wurde gelöst, hab mir eine alte choice.exe ins system32 verzeichnis kopiert, google sei dank :|


weis leider nicht wie man einen code hier einfügt, daher mach ich es leider auf die brutale *sorry*
was läuft hier falsch?






@echo off
:start
cls

echo ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
echo º Tools º
echo ÌÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ͹
echo º E) Notepad º
echo º 1) Batch 1 º
echo º X) Exit º
echo ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ

echo Bitte druecken Sie E, 1 oder X.
choice /N /C:E1X
if errorlevel X goto exit
if errorlevel 1 goto batch1
if errorlevel E goto notepad

:batch1
start batch1
dir c:\*.mp3 /s >mp3.txt
GOTO exit

:notepad
start notepad
tracert
GOTO exit

:exit
cls
 
  • #5
:| :| :|
natürlich gehört das
start batch1 usw. weg :| :|

naja, echt dumm von mir!

eins fällt mir noch ein, nachdem er das jeweilige kommando ausführt sollte er ein wenig warten (10sec).
kann mir jemand die kommandozeile sagen?

Gruß
Örv
 
  • #6
Code:
@echo off 
:start            
cls

echo     ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
echo     º   Tools    º
echo     ÌÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ͹
echo     º M) mp3-Files listen º
echo     º T) Trace Route   º
echo     º X) Exit      º
echo     ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ

echo Bitte druecken Sie M, T oder X.
choice /N /C:MTX
if errorlevel 3 goto exit
if errorlevel 2 goto traceroute
if errorlevel 1 goto listmp3

:listmp3
echo Suche Dateien, bitte warten ...
dir c:\*.mp3 /s /b >mp3.txt
goto exit

:traceroute
cls
tracert [url]www.krone.at[/url]
pause

:exit
cls

Mit Drücken einer Taste, ich hatte Deinen letzten Beitrag noch nicht gelesen.

// 10 Sekunden Pause nach trace route:
statt->pause'
ping 1.1.1.1 -n 1 -w 10000 >NUL

// Stimmt,->choice' gibt es wohl unter XP (32) nicht; bei mir funktioniert es unter XP64. Man kann auch SET /P verwenden, nur muss man dann noch zusätzlich Return drücken, glaube ich. Und es ist (zumindest etwas) komplizierter. Ist schon etwas länger her, dass ich mir Batch-Dateien angetan habe.

// Du kannst evtl. die Dateiliste etwas übersichtlicher gestalten; schau' Dir mal die Parameter von->dir' an. Ich habe oben /b hinzugefügt.
 
  • #7
Hier noch eine Variante mit SET:

Code:
@echo off 
:start            
cls

echo     ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
echo     º   Tools    º
echo     ÌÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ͹
echo     º M) mp3-Files listen º
echo     º T) Trace Route   º
echo     º X) Exit      º
echo     ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ

SET /P Choice=Bitte Zeichen eingeben und Return druecken: 

IF NOT->%Choice%'=='' SET Choice=%Choice:~0,1%

IF /I->%Choice%'=='M' goto listmp3
IF /I->%Choice%'=='T' goto traceroute
IF /I->%Choice%'=='X' goto exit
goto start

:listmp3
echo Suche Dateien, bitte warten ...
dir c:\*.mp3 /s /b >mp3.txt
goto exit

:traceroute
cls
tracert [url]www.krone.at[/url]
pause

:exit
cls
 
  • #8
Dings schrieb:
Code:
@echo off  
:start             
cls

echo      ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
echo      º    Tools     º
echo      ÌÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ͹
echo      º M) mp3-Files listen º
echo      º T) Trace Route   º
echo      º X) Exit       º
echo      ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ

echo Bitte druecken Sie M, T oder X.
choice /N /C:MTX
if errorlevel 3 goto exit
if errorlevel 2 goto traceroute
if errorlevel 1 goto listmp3

:listmp3
echo Suche Dateien, bitte warten ...
dir c:\*.mp3 /s /b >mp3.txt
goto exit

:traceroute
cls
tracert [url]www.krone.at[/url]
pause

:exit
cls

Mit Drücken einer Taste, ich hatte Deinen letzten Beitrag noch nicht gelesen.

// 10 Sekunden Pause nach trace route:
statt->pause'
ping 1.1.1.1 -n 1 -w 10000 >NUL

// Stimmt,->choice' gibt es wohl unter XP (32) nicht; bei mir funktioniert es unter XP64. Man kann auch SET /P verwenden, nur muss man dann noch zusätzlich Return drücken, glaube ich. Und es ist (zumindest etwas) komplizierter. Ist schon etwas länger her, dass ich mir Batch-Dateien angetan habe.

// Du kannst evtl. die Dateiliste etwas übersichtlicher gestalten; schau' Dir mal die Parameter von->dir' an. Ich habe oben /b hinzugefügt.

super, das funktioniert schon mal tadellos!
das mit dir /b ist übrigens auch super übersichtlich!

hab einen Beitrag weiter unten auch schon das Eingeben der Dateiendung (z.b. mp3, txt,...) versucht händisch einzugeben, aber nicht geschafft.

das klappt irgendwie noch nicht, obwohl alles andere hier zitierte EINWANDFREI funktioniert.
er soll mich fragen, welche dateiendungen ich in der txt haben will (z.b. mp3).
 
  • #9
Hmm ... vielleicht so, probiere es mal aus:

Code:
@echo off 
:start            
cls

echo     ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
echo     º   Tools    º
echo     ÌÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ͹
echo     º D) Dateien listen º
echo     º T) Trace Route   º
echo     º X) Exit      º
echo     ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ

echo Bitte druecken Sie D, T oder X.
choice /N /C:DTX
if errorlevel 3 goto exit
if errorlevel 2 goto traceroute
if errorlevel 1 goto listfiles

:listfiles
cls
echo Dateien listen
echo --------------
echo.
SET /P Extension=Bitte Dateiendung eingeben und Return druecken: 
IF->%Extension%'=='' goto listfiles
echo.
echo Suche Dateien, bitte warten ...
dir c:\*.%Extension% /s /b >%Extension%.txt
goto exit

:traceroute
cls
tracert [url]www.krone.at[/url]
pause

:exit
cls
 
  • #10
:1 :1 :1
perfekt, dass funktioniert einwandfrei!

Sollte ich noch Sachen benötigen, weiß ich jetzt wo ich mich melden kann
 
Thema:

Menü erstellen

ANGEBOTE & SPONSOREN

Statistik des Forums

Themen
113.840
Beiträge
707.963
Mitglieder
51.494
Neuestes Mitglied
Flensburg45
Oben