@ECHO off
:start
ECHO 1. Print Hello
ECHO 2. Print Bye
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
ECHO "%choice%" is not valid, try again
ECHO.
goto start
:hello
ECHO HELLO
goto end
:bye
ECHO BYE
goto end
:test
:end
請問為什麼它要寫
set choice=
這一段??
還有set choice=%choice:~0,1%
這是什麼意思
v60i提到:
@ECHO off
:start
ECHO 1. Print Hello
ECHO 2. Print Bye
set choice=
set /p choice=Type the number to print text.
if not '%choice%'=='' ...(恕刪)
查了一下HELP
應該是說
從最左邊起擷取1個字元
~0 是指從第0個字元算起
,1是指1個字元
所以當你把整段執行起來時
1 12 102 1010都會是hello 因為第一個都是1
2 22 212 2010都會是bye 因為第一個都是2
set choice=
初始化設定choice為空白
set choice=%choice:~0,1%
沒記錯的話~ 好像是not