Supportnet / Forum / WindowsXP
Choice-Befehl unter Windows XP-Home SP2
Frage
Hallo PC-Kenner,
Unter Windows XP Home (ServicePack2) habe ich lange keine Stapelverarbeitungsdatei mehr ausgeführt, die als Abfrage-Syntax den Choice-Befehl zum Gegenstand hat.
Keine meiner diesbezüglichen Batch-Dateien führt mehr zum Erfolg. Bei Aufruf erscheint im Dos-Fenster nachstehende Fehlermeldung:
„Der Befehl "choice" ist entweder falsch geschrieben oder
konnte nicht gefunden werden.
Drücken Sie eine beliebige Taste . . .“
Da ein Fehler der Schreibweise auszuschließen ist, stellt sich die Fragen:
Funktioniert der Choice-Befehl unter Windows-XP grundsätzlich nicht mehr oder muß ich in meinen Batch-Dateien Änderungen vornehmen; wenn ja, welche?
Ich würde mich freuen, wenn mir jemand helfen könnte.
mit freundlichen Grüßen
WeDiSi
Antwort 1 von lilHelper
choice funktioniert unter Windows NT / 2000 / XP tatsächlich nicht.
Du kannst choice aber ersetzten, schau Dir dazu das Beispiel mal an.
Du kannst choice aber ersetzten, schau Dir dazu das Beispiel mal an.
echo off
cls
:start
ECHO.
ECHO 1. Print Hello
ECHO 2. Print Bye
ECHO 3. Print Test
set choice=
set /p choice=Type the number to print text.
if not ´%choice%´==´´ set choice=%choice:~0,1%
if ´%choice%´==´1´ goto hello
if ´%choice%´==´2´ goto bye
if ´%choice%´==´3´ goto test
ECHO "%choice%" is not valid please try again
ECHO.
goto start
:hello
ECHO HELLO
goto end
:bye
ECHO BYE
goto end
:test
ECHO TEST
goto end
:end
Antwort 2 von wedisi
Hallo lilHelper,
vielen Dank für Deine schnelle Antwort. Ich werde Deinen Tip bald ausprobieren.
mit freundlichen Grüßen
WeDiSi
vielen Dank für Deine schnelle Antwort. Ich werde Deinen Tip bald ausprobieren.
mit freundlichen Grüßen
WeDiSi
Antwort 3 von Hasso
Übrigens: Im DOS-Fenster bei XP kannst Du mit "help" alle,
zur Verfügung stehenden Befehle anzeigen lassen.
Mit "help <Befehl>" bekommst Du dann die einzelnen Befehle genau erklärt. Sie sind zum Teil etwas anders als unter 98 oder unter reinem DOS.
Gruß
Hasso
zur Verfügung stehenden Befehle anzeigen lassen.
Mit "help <Befehl>" bekommst Du dann die einzelnen Befehle genau erklärt. Sie sind zum Teil etwas anders als unter 98 oder unter reinem DOS.
Gruß
Hasso
Antwort 4 von wedisi
Hallo Hasso,
Vilen Dank für den Tipp, wenn er auch im vorliegenden Fall nicht erfolgreich ist. Es erscheinen nachstehende Fehlermeldungen:
C:\>help choice
Zu diesem Befehl steht kein Hilfethema zur Verfügung.
Versuchen Sie es mit "choice /?".
C:\>choice /?
Der Befehl "choice" ist entweder falsch geschrieben oder konnte nicht gefunden werden.
mit freundlichen Grüßen
WeDiSi
Vilen Dank für den Tipp, wenn er auch im vorliegenden Fall nicht erfolgreich ist. Es erscheinen nachstehende Fehlermeldungen:
C:\>help choice
Zu diesem Befehl steht kein Hilfethema zur Verfügung.
Versuchen Sie es mit "choice /?".
C:\>choice /?
Der Befehl "choice" ist entweder falsch geschrieben oder konnte nicht gefunden werden.
mit freundlichen Grüßen
WeDiSi
Antwort 5 von wedisi
Entschuldigung für den Schreibfehler. Ich habe Deutsch mit Erfolg gelernt und weiß somit, daß "vielen" eben mit "ie" geschrieben wird.
Antwort 6 von wedisi
Liebe(r) lilhelper,
wenn ich Deine Beispiel-Batch-Datei ausführe, erscheint zunächst
1. Print Hello
2. Print Bye
3. Print Test
Unabhängig von der Zahl, die ich einwähle, erscheint sodann folgende Fehlermeldung:
"==1" ist syntaktisch an dieser Stelle nicht verarbeitbar.
Sagt Dir das etwas? Wenn ja, was muß ich ändern?
mit freundlichen Grüßen
Werner
wenn ich Deine Beispiel-Batch-Datei ausführe, erscheint zunächst
1. Print Hello
2. Print Bye
3. Print Test
Unabhängig von der Zahl, die ich einwähle, erscheint sodann folgende Fehlermeldung:
"==1" ist syntaktisch an dieser Stelle nicht verarbeitbar.
Sagt Dir das etwas? Wenn ja, was muß ich ändern?
mit freundlichen Grüßen
Werner
Antwort 7 von Birger
Hi
@wedisi
Das ist ja gerade der Hinweis, daß es in XP diesen Befehl nicht gibt.
Komfortabler kannst du dir alle Befehle mit Beschreibung unter Start / Hilfe und Support / Suche "Befehlszeilenreferenz A-Z" eingeben / Befehlszeilenreferenz A-Z im Text anklicken.
@wedisi
Das ist ja gerade der Hinweis, daß es in XP diesen Befehl nicht gibt.
Komfortabler kannst du dir alle Befehle mit Beschreibung unter Start / Hilfe und Support / Suche "Befehlszeilenreferenz A-Z" eingeben / Befehlszeilenreferenz A-Z im Text anklicken.
Antwort 8 von lilHelper
Irgendwas ist beim letzten Post schiefgelaufen, wahrscheinlich schon beim Copy´n´Paste.
Es sollten Anführungsstriche werden, gepostet habe ich Hochkomma ;-(
Versuchen wir´s nochmal
Es sollten Anführungsstriche werden, gepostet habe ich Hochkomma ;-(
Versuchen wir´s nochmal
echo off
cls
:start
ECHO.
ECHO 1. Print Hello
ECHO 2. Print Bye
ECHO 3. Print Test
set choice=
set /p choice=Type the number to print text.
if not "%choice%" == "" set choice=%choice:~0,1%
if "%choice%" == "1" goto hello
if "%choice%" == "2" goto bye
if "%choice%" == "3" goto test
ECHO "%choice%" is not valid please try again
ECHO.
goto start
:hello
ECHO HELLO
goto end
:bye
ECHO BYE
goto end
:test
ECHO TEST
goto end
:end
Antwort 9 von lilHelper
Copy´n´Paste aus dem Post
gespeichert als Batch-File
-> funktioniert nun
Viel Spaß damit ;-)
gespeichert als Batch-File
-> funktioniert nun
Viel Spaß damit ;-)
Antwort 10 von steffen2
Anmerkung:
der Choice Befehl funktioniert unter 2K/XP.
Die choice.com ist nur nicht enthalten
Gruß Steffen
der Choice Befehl funktioniert unter 2K/XP.
Die choice.com ist nur nicht enthalten
Gruß Steffen
Antwort 11 von wedisi
Hallo,
vielen Dank für alle Beiträge zu meinem "Choice-Problem" im Zusammenhang mit Batchdateien unter Win XP. Das von lillHelper berichtigt nachgetragene Script habe ich noch nicht ausprobiert , weil der Rat von Steffen zielführend war. Aus einer Windows 98 Installation habe ich aus dem Verzeichnis "Windows Command" die Datei "choice.com" auf Diskette kopiert und unter XP ins Verzeichnis "Windows" eingefügt mit dem Ergebnis, daß alle Choice-Befehle ohne Änderung meiner Stapelverarbeitungsdateien jetzt auch unter XP einwandfrei genutzt werden können.
mit nochmals bestem Dank und freundlichen Grüßen
WeDiSi
vielen Dank für alle Beiträge zu meinem "Choice-Problem" im Zusammenhang mit Batchdateien unter Win XP. Das von lillHelper berichtigt nachgetragene Script habe ich noch nicht ausprobiert , weil der Rat von Steffen zielführend war. Aus einer Windows 98 Installation habe ich aus dem Verzeichnis "Windows Command" die Datei "choice.com" auf Diskette kopiert und unter XP ins Verzeichnis "Windows" eingefügt mit dem Ergebnis, daß alle Choice-Befehle ohne Änderung meiner Stapelverarbeitungsdateien jetzt auch unter XP einwandfrei genutzt werden können.
mit nochmals bestem Dank und freundlichen Grüßen
WeDiSi
Antwort 12 von lithium
Was genau mach folgende Zeile in dem Beispiel denn:
if not "%choice%" == "" set choice=%choice:~0,1%
Antwort 13 von lilHelper
übersetzt:
wenn choice nicht leer, dann setzte choice auf 1 Zeichen ab Stelle 0 von choice
-> also wenn choice einen Inhalt hat, dann schneide alles bis auf das erste Zeichen weg.
wenn choice nicht leer, dann setzte choice auf 1 Zeichen ab Stelle 0 von choice
-> also wenn choice einen Inhalt hat, dann schneide alles bis auf das erste Zeichen weg.
Antwort 14 von ralfb
Also bei mir klappt das nicht... ich bekomme z.B
"1 " is not valid please try again
...egal
Ich würde mir "choice.com" von einem Win98-System klauben und in den XP-Ordner kopieren... wie in Antwort 10 indirekt vorgeschlagen
mögliche Optionen:
CHOICE [/C[:]Optionen] [/N] [/S] [/T[:]c,nn] [Text]
/C[:]Optionen Zulässige Tasten für die Optionen. Standard ist JN.
/N Die Eingabeaufforderung endet nicht mit der Angabe der
Optionstasten und dem Fragezeichen.
/S Bei der Eingabe wird Groá- und Kleinschreibung bercksichtigt.
/T[:]c,nn Die Standardauswahl fr c nach nn Sekunden.
Text Eingabeaufforderung, die angezeigt wird.
ERRORLEVEL nimmt den Offset-Wert der vom Benutzer gedrckten Optionstaste an.
---------------------------
habe dieses Proggi von meiner selbstgestricken bootfähigen 98-SupportCD rüber kopiert ...und funzt!
"1 " is not valid please try again
...egal
Ich würde mir "choice.com" von einem Win98-System klauben und in den XP-Ordner kopieren... wie in Antwort 10 indirekt vorgeschlagen
mögliche Optionen:
CHOICE [/C[:]Optionen] [/N] [/S] [/T[:]c,nn] [Text]
/C[:]Optionen Zulässige Tasten für die Optionen. Standard ist JN.
/N Die Eingabeaufforderung endet nicht mit der Angabe der
Optionstasten und dem Fragezeichen.
/S Bei der Eingabe wird Groá- und Kleinschreibung bercksichtigt.
/T[:]c,nn Die Standardauswahl fr c nach nn Sekunden.
Text Eingabeaufforderung, die angezeigt wird.
ERRORLEVEL nimmt den Offset-Wert der vom Benutzer gedrckten Optionstaste an.
---------------------------
habe dieses Proggi von meiner selbstgestricken bootfähigen 98-SupportCD rüber kopiert ...und funzt!