2009-02-19 7 views

Odpowiedz

8

Użyj polecenia SET za pomocą przełącznika/P.

+2

Co powiecie na limit czasu i ustawienie domyślne? – Baczek

6

Zauważ, że komenda SET /P nie obsługuje wszystkie te same funkcje co komenda CHOICE. Mianowicie:

  • To nie ogranicza użytkownika do wprowadzania poprawną wartość
  • użytkownik musi nacisnąć klawisz enter
  • Trzeba sprawdzić różnice osłonowych (np "A" vs "A")
  • nie ma sposobu, aby domyślnie pewnego wyboru po pewnym czasie

z tych powodów, nadal wolą używać komendy CHOICE zamiast dowodzić SET /P. Aby to zrobić, wystarczy dołączyć CHOICE.COM wraz z plikiem wsadowym. Możesz pobrać CHOICE.COM z Microsoft za pomocą Dodatkowego dysku MS-DOS 6.22. Oto link:

http://support.microsoft.com/kb/117600

+0

Niestety "choice.com" nie działa w systemach 64-bitowych. – Paulius

+2

Wierzę, że 64-bitowy system Windows 7 zawiera "CHOICE.EXE". Przynajmniej moje maszyny to mają i jestem prawie pewna, że ​​sam tego nie umieściłem. – aphoria

+0

Masz poprawną @aphoria, moja ma choice.exe i ja jej tam nie wstawiłem :) – MikeRoger

1

Na przykład można użyć tego:

SET /P ANSWER=y OR n? 
If "%answer%"=="y" goto yes 
If "%answer%"=="n" goto no 

Enjoy!

2

Będzie to zasadniczo naśladować, co robi wybór, trzeba będzie umieścić go jako podprogram w pliku wsadowym. Preferuję również wybór, ale potrzebuję czegoś przenośnego, które będzie działać w systemie Windows XP.

Możesz następnie zmodyfikować to, aby zaakceptować inne "wybory", jednak będzie to działać bez rozróżniania wielkości liter i powtórzyć monit, aż użytkownik jawnie wprowadzi Y, y, N lub n.

:yesorno 
set /p choice=%2 
if /i NOT %choice% == n (
    if /i NOT %choice% == y goto yesorno 
) 
set "%~1=%choice%" 
goto :eof 

Będziesz wtedy nazywają ten podprogram poprzez:

call :yesorno answer "Do you want to continue? [Y/n]: " 

To pracuje bardzo dobrze dla mnie do tej pory.

-1

Windows Millenium CHOICE.COM działa dobrze dla mnie pod XP SP3. Jednak mój jest językiem węgierskim, ale prawdopodobnie można znaleźć jego oryginalny angielski wariant, na przykład wyszukując hasło "windows millenium ebd".

http://s000.tinyupload.com/index.php?file_id=57468192666746678653

+0

Umieściłem go w C: \ windows, aby był dostępny zewsząd. – BlueWings

+0

Witamy w SO. Podaj rozwiązanie bezpośrednio w swojej odpowiedzi. Przeczytaj również: https://stackoverflow.com/help/answering –

Powiązane problemy