AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Delphi-PRAXiS - Lounge Betriebssysteme Ersatz für Batch Befehl CHOICE ?
Thema durchsuchen
Ansicht
Themen-Optionen

Ersatz für Batch Befehl CHOICE ?

Ein Thema von daedalus · begonnen am 11. Mai 2006 · letzter Beitrag vom 21. Apr 2007
Antwort Antwort
Seite 1 von 2  1 2      
daedalus

Registriert seit: 31. Jan 2004
Ort: Aalen
14 Beiträge
 
Delphi 2005 Professional
 
#1

Ersatz für Batch Befehl CHOICE ?

  Alt 11. Mai 2006, 09:29
Hallo Leute

Ich krame gerade in meinen alten Batch-Dateien.
Zumindest bei WinXP kennt der CMD Interpreter den Befehl CHOICE nicht mehr.
Gibt es eine Alternative?

Hier ein Beispiel:

Code:
@echo off
CLS
:loop1
echo Bitte Netzwerkkartentreiber wählen:
echo
echo 1 = Dell Latitude C840
echo 2 = PC ..

choice /c:12   
if errorlevel 2 goto net2   
if errorlevel 1 goto net1 
goto loop1

:net1
echo \net\netbind.com
goto exit

:net2
echo \net\net...
goto exit

:exit
EXIT
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#2

Re: Ersatz für Batch Befehl CHOICE ?

  Alt 11. Mai 2006, 09:42
Hi.

Schau dir mal den Schalter /P des SET-Befehls an. Damit sollte sich was reißen lassen.

Grüße vom marabu
  Mit Zitat antworten Zitat
Benutzerbild von turboPASCAL
turboPASCAL

Registriert seit: 8. Mai 2005
Ort: Sondershausen
4.274 Beiträge
 
Delphi 6 Personal
 
#3

Re: Ersatz für Batch Befehl CHOICE ?

  Alt 11. Mai 2006, 10:07
Code:
@ECHO OFF
CLS
:Start
ECHO.
ECHO [1] Start Nummer 1
ECHO [2] Start Nummer 2
ECHO [3] Beenden
ECHO.
SET choice=
SET /P choice=Bitte Auswählen (1 bis 3):
IF NOT ´%choice%´==´´ SET choice=%choice:~0,1%
if ´%choice%´==´1´ goto Run1
if ´%choice%´==´2´ goto Run2
if ´%choice%´==´3´ goto Exit
ECHO "%choice%" ist keine gültige Eingabe. Bitte noch einmal:
ECHO.
GOTO Start

:Run1
ECHO Start Nummer 1
REM ...
goto end

:Run2
Start Nummer 2
REM ...
goto end

:Exit
ECHO Beendet durch User
GOTO End

:End
Ein Beispiel.
Matti
Meine Software-Projekte - Homepage - Grüße vom Rüsselmops -Mops Mopser
  Mit Zitat antworten Zitat
Benutzerbild von Sharky
Sharky

Registriert seit: 29. Mai 2002
Ort: Frankfurt
8.252 Beiträge
 
Delphi 2006 Professional
 
#4

Re: Ersatz für Batch Befehl CHOICE ?

  Alt 11. Mai 2006, 10:07
Zitat von daedalus:
... Zumindest bei WinXP kennt der CMD Interpreter den Befehl CHOICE nicht mehr. ...
Ist glaube ich seit NT nicht mehr dabei. Allerdings war CHOICE kein "Befehl" sondern ein externes Programm. Du kannst ja mal sehen ob Du noch ein W98 hast. Dann kannst Du dir das Programm ja kopieren.
Stephan B.
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#5

Re: Ersatz für Batch Befehl CHOICE ?

  Alt 11. Mai 2006, 10:12
Hi Sharky,

wenn ich Unmengen an choice-verseuchten Script-Code hätte, dann würde ich CHOICE aus dem W2K3 resource kit holen. Wenn nicht, dann nehme ich doch lieber einen internen Befehl der command shell mit vergleichbarer Funktionalität.

Grüße vom marabu
  Mit Zitat antworten Zitat
daedalus

Registriert seit: 31. Jan 2004
Ort: Aalen
14 Beiträge
 
Delphi 2005 Professional
 
#6

Re: Ersatz für Batch Befehl CHOICE ?

  Alt 11. Mai 2006, 13:20
Also mein Batch sieht jetzt so aus:
Code:
@ECHO OFF
CLS
:Start
ECHO.
ECHO [1] Dell Latitude C840 
ECHO [2] PC001
ECHO [3] Abbruch
ECHO.
SET choice=
SET /P choice=Bitte Auswählen (1 bis 3):
IF NOT ´%choice%´==´´ SET choice=%choice:~0,1% 
if ´%choice%´==´1´ goto Run1 
if ´%choice%´==´2´ goto Run2 
if ´%choice%´==´3´ goto Exit
ECHO "%choice%" ist keine gueltige Eingabe. Bitte noch einmal:
ECHO.
GOTO Start

:Run1 
echo \net\netbind.com
REM ...
goto end

:Run2 
echo \net\net...
REM ...
goto end

:Exit
ECHO Beendet durch User
GOTO End

:End
Dank an marabu und turboPASCAL

Einziger Wermutstropfen ist die Reaktion wenn nur die Return-Taste betätigt wird:
Code:
"┤==┤1┤" ist syntaktisch an dieser Stelle nicht verarbeitbar.
Das würde ich gern noch abfangen.
  Mit Zitat antworten Zitat
Benutzerbild von turboPASCAL
turboPASCAL

Registriert seit: 8. Mai 2005
Ort: Sondershausen
4.274 Beiträge
 
Delphi 6 Personal
 
#7

Re: Ersatz für Batch Befehl CHOICE ?

  Alt 11. Mai 2006, 14:18
Welches Betriebssystem und gff. welcher Zeichensatz (DOS) ?

Du kannst das ja auch mit einer kleinen Konsolenanwendung machen, Sichwort Hier im Forum suchenShellExecute.

Matti
Meine Software-Projekte - Homepage - Grüße vom Rüsselmops -Mops Mopser
  Mit Zitat antworten Zitat
daedalus

Registriert seit: 31. Jan 2004
Ort: Aalen
14 Beiträge
 
Delphi 2005 Professional
 
#8

Re: Ersatz für Batch Befehl CHOICE ?

  Alt 11. Mai 2006, 15:19
Zitat:
Welches Betriebssystem und gff. welcher Zeichensatz (DOS) ?
Codepage 850

Zitat:
Du kannst das ja auch mit einer kleinen Konsolenanwendung machen, Sichwort ShellExecute .
ShellExecute geht leider nicht, denn das batch soll in der autoexec.bat aufgerufen werden.

Aber ich denke ich kann schon gut mit dem aktuellen batch leben...

Nochmals vielen Dank für die Tips
  Mit Zitat antworten Zitat
Benutzerbild von turboPASCAL
turboPASCAL

Registriert seit: 8. Mai 2005
Ort: Sondershausen
4.274 Beiträge
 
Delphi 6 Personal
 
#9

Re: Ersatz für Batch Befehl CHOICE ?

  Alt 13. Mai 2006, 02:00
Zitat von daedalus:
Zitat:
Du kannst das ja auch mit einer kleinen Konsolenanwendung machen, Sichwort ShellExecute.
ShellExecute geht leider nicht, denn das batch soll in der autoexec.bat aufgerufen werden.
Was hindert dich daran ?
Matti
Meine Software-Projekte - Homepage - Grüße vom Rüsselmops -Mops Mopser
  Mit Zitat antworten Zitat
Andreas L.
(Gast)

n/a Beiträge
 
#10

Re: Ersatz für Batch Befehl CHOICE ?

  Alt 13. Mai 2006, 09:06
Ahoi,
Zitat von turboPASCAL:
Zitat von daedalus:
Zitat:
Du kannst das ja auch mit einer kleinen Konsolenanwendung machen, Sichwort ShellExecute.
ShellExecute geht leider nicht, denn das batch soll in der autoexec.bat aufgerufen werden.
Was hindert dich daran ?
Naja, dann müsste er aber ein 16-Bit-Programm machen. Also ich gehe davon aus das die autoexec.bat auf irgendeiner Diskette oder USB-Stick liegt und er möchte quasi eine Startdiskette mit Netzwerktreibern machen... Unter WinNT wird ja die autoexec.bat beim Systemstart nicht mehr ausgeführt, dafür hat man Anmeldeskripts

bye,
Andy
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:52 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz