Supportnet Computer
Planet of Tech

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.



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

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

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

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

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.

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


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 ;-)

Antwort 10 von steffen2

Anmerkung:

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

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.

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 bercksichtigt.
/T[:]c,nn Die Standardauswahl fr c nach nn Sekunden.
Text Eingabeaufforderung, die angezeigt wird.

ERRORLEVEL nimmt den Offset-Wert der vom Benutzer gedrckten Optionstaste an.
---------------------------

habe dieses Proggi von meiner selbstgestricken bootfähigen 98-SupportCD rüber kopiert ...und funzt!

Ich möchte kostenlos eine Frage an die Mitglieder stellen:


Ähnliche Themen:


Suche in allen vorhandenen Beiträgen: