Li-Fan Chen says to Ow< [MSFW]
@echo off title Bat 指令介紹與 example (Pre-Alpha 搶先使用版) ::初始設定 cls color 0f ::授權 :License CLS echo == 授權條款 == echo 感謝你使用本 "Bat 指令介紹與 example" ping 0.0.0.0 -n 3 >nul echo 由 byStarTW 製作, echo 不可翻製、修改程式任何內容 echo NOTE: 目前僅以下號碼功能有效: 0,5,8 ping 0.0.0.0 -n 4 >nul set /p license_choose=請問你同意以上條款?(Y/N): if "%license_choose%"=="Y" goto Start if "%license_choose%"=="N" ( echo. echo 若你不接受此條款,將無法使用本軟體 echo 五秒後自動離開 ping 0.0.0.0 -n 6 >nul exit ) goto License ::開始 :Start goto Page1 ::頁數1 :Page1 set page=1 cls echo 1. 使用 echo、title 指令 echo 2. 使用 start、call 指令 echo 3. BAT 語法格式說明 echo 4. 使用 CLS、COLOR 指令 echo 5. 下一頁 (P.2) echo 目前你正在 P.1 goto choosescreen ::頁數2 :Page2 set page=2 cls echo 6. 使用 set 指令 (基礎) echo 7. set 搭配 if 指令 (基礎) echo 8. 實戰練習 (1-8 else 5) echo 9. 使用 goto 與使用標記點 echo 0. 回到上一頁 goto choosescreen ::選擇介面 :ChooseScreen set choosekey= set /p choosekey=請輸入你要的號碼 (ex. 1): if "%choosekey%"=="0" goto Page1 if "%choosekey%"=="1" goto echo_title_readme if "%choosekey%"=="2" goto start_call_readme if "%choosekey%"=="3" goto bat_format_readme if "%choosekey%"=="4" goto cls_color_readme if "%choosekey%"=="5" goto Page2 if "%choosekey%"=="6" goto try_set_readme if "%choosekey%"=="7" goto set_if_readme if "%choosekey%"=="8" goto Test_one if "%choosekey%"=="9" goto goto_readme if "%page%"=="1" goto Page1 if "%page%"=="2" goto Page2 goto ChooseScreen ::echo、title 的說明 :echo_title_readme CLS echo 未來會建構完成。 pause exit ::start、call 的說明 :start_call_readme CLS echo 未來會建構完成。 pause exit ::bat 排版介紹 :bat_format_readme CLS echo 未來會建構完成。 pause exit ::Cls、Color 的說明 :cls_color_readme CLS echo 未來會建構完成。 pause exit ::使用 set 指令 :try_set_readme CLS echo 未來會建構完成。 pause exit ::Set 與 If 搭配 :set_if_readme CLS echo 未來會建構完成。 pause exit ::Goto 的說明 :goto_readme CLS echo 未來會建構完成。 pause exit ::自我測驗_01 :Test_one CLS echo 即將開始實戰練習! echo 3... ping 0.0.0.0 -n 3 >nul echo 2... ping 0.0.0.0 -n 3 >nul echo 1... ping 0.0.0.0 -n 3 >nul echo Go! ping 0.0.0.0 -n 2 >nul goto test_one_1 ::自我測驗_01_第一題 :test_one_1 cls set testonechoose= echo 1. 如何讓標題列顯示 "Hello world!"? echo A. title Hello world! echo B. echo Hello world! echo C. title title(Hello world!) set /p testonechoose=請選擇: if "%testonechoose%"=="A" goto test_one_1_ok ::自我測驗_01_第一題_錯誤 echo 你錯了!答案是 "A" echo 解析: echo echo 是在命令提示字元顯示 Hello world! 這個字樣 echo C 是在標題列顯示 "title (Hello world!)" pause goto test_one_2 ::自我測驗_01_第一題_正確 :test_one_1_ok echo 你答對了! echo 解析: echo echo 是在命令提示字元顯示 Hello world! 這個字樣 echo C 是在標題列顯示 "title (Hello world!)" pause goto test_one_2 ::自我測驗_01_第二題 :test_one_2 cls set testonechoose= echo 2. 請判別以下程式碼,並答出正確的解釋方法 echo @echo off echo title Hello world! echo echo Hello world! echo pause echo exit echo. echo A. 標題列顯示 Hello world,不會顯示任何文字。 echo B. 標題列顯示 title Hello world!,顯示 echo Hello world! echo C. 標題列顯示 Hello world,顯示 Hello world! echo D. 會跳出 "Windows 找不到這個程式",然後無法正常執行。 set /p testonechoose=答案是?  if "%testonechoose%"=="C" goto test_one_2_ok ::自我測驗_01_第二題_錯誤 echo 你答錯了...答案是 "C" pause goto test_one_3 ::自我測驗_01_第二題_正確 :test_one_2_ok echo 你答對了! pause goto test_one_3 ::自我測驗_01_第三題 :test_one_3 cls set testonechoose= echo set 與 if 之用法,下列何者正確? echo 注意: % 改成 ' ex %12 會變成 '12 echo. echo (A) echo set /p crazy=Hello world?(Y/N)? echo if "crazy=' ~01" =! )helloworld!)y == bye echo (B) echo set /p crazy2=test echo if "'crazy%"=="666" echo 無竄改 echo (C) echo set count=%windir% echo if "%count%"=="%windir%" echo Path Enabled. echo (D) echo set test=helloworld echo if "%test%"="helloworld" exit set /p testonechoose=請選擇: if "%testonechoose%"=="C" goto test_one_3_ok ::自我測驗_01_第三題_錯誤 echo 你錯了 =( echo 解析: echo A. if "crazy=% ~01" =! )helloworld!)y == bye 應改成 if "%crazy%"=="Y" exit echo B. set /p crazy2=test 應改成 set /p crazy=test 或 if "%crazy%"=="666" echo 無竄改 改成 if "%crazy2%"=="666". echo D. if "%test%"="helloworld" exit 的 = 應是兩個 (ex. if "%test%"=="helloworld" exit) pause goto test_one_4