W moim pliku wsadowym chcę zadać użytkownikowi pytanie.tak/nie plik wsadowy
napisałem następujący:
SET /P ANSWER=Click Y to continue or N to stop (Y/N)
ale dostaję komunikat bez ostatniego )
.
Ktoś wie dlaczego?
Dzięki!
W moim pliku wsadowym chcę zadać użytkownikowi pytanie.tak/nie plik wsadowy
napisałem następujący:
SET /P ANSWER=Click Y to continue or N to stop (Y/N)
ale dostaję komunikat bez ostatniego )
.
Ktoś wie dlaczego?
Dzięki!
Ponieważ ten znak zachęty jest używany w bloku z nawiasami, np.
if ... (
...
set /P ANSWER=Blah (Y/N)
)
lub
for %%x in (...) do (
...
set /P ANSWER=Blah (Y/N)
)
Musisz uciec przed nawias zamykający W tym przypadku:
SET /P ANSWER=Click Y to continue or N to stop (Y/N^)
lub zacytować cały argument:
SET /P "ANSWER=Click Y to continue or N to stop (Y/N)"
inaczej zamyka blok. A jeśli miałbyś coś po tym zamykającym nawiasie, otrzymasz błąd składni.
Łatwiejszy sposób, co robisz nie będzie prawdopodobnie komenda choice
:
choice /M "Press Y to continue or N to stop" /c YN
Następnie można sprawdzić errorlevel potem dowiedzieć się, wybór użytkownika:
if errorlevel 255 (
echo Error
) else if errorlevel 2 (
echo No.
) else if errorlevel 1 (
echo Yes.
) else if errorlevel 0 (
echo Ctrl+C pressed.
)
To działa dobrze dla mnie. Czy daje błąd? A może po prostu nie wyświetla ostatniego nawiasu? –
to działa również dla mnie. –
nie wyświetla ostatniego nawiasu – zipi