3.練習

  1. 請解釋此指令 sort < list.txt > alphlist.txt
  2. 請解釋此指令 if errorlevel 1 echo ping target fail >> pinglog.txt
  3. 請定義並顯示一個today的變數,其格式為月日年,例如10/12/2015
  4. 請撰寫一個指令檔,提示使用者需輸入姓名與出生的西元年,輸入之後請顯示XXX您好,您的年齡為:n歲
  5. 請以批次檔完成九九乘法表,顯示格式如下
    2x1=2
    2x2=4
    .....
    2x9=18
    3x1=3
    .....
    9x9=81
    
  6. 請解釋下列指令執行的結果
    @echo off
    set val=1
    echo %val%
    (
    set val=2
    echo %val%
    set val=3
    echo %val%
    )
    echo %val%
    pause
    
  7. 請利用 route print、find 等指令,撰寫一個可顯示自己電腦IP的批次檔

參考解答

  1. 將 list.txt 導向輸入給 sort 命令,sort命令排序處理之後,導向輸出到 alphlist.txt
  2. 若前一個指令的回傳值大於等於1,則用附加的方式導向輸出 ping taret fail 字串到 pinglog.txt 檔案
  3. quiz3.cmd
    @echo off
    rem 答案1
    set today=%date:~5,2%/%date:~8,2%/%date:~0,4%
    echo %today%
    rem 答案2
    for /F "tokens=1,2,3 delims=/ " %%a in ('date /t') do set today=%%b-%%c-%%a
    echo %today%
    
  4. quiz4.cmd
    @echo off
    set /p myname=請輸入您的姓名:
    set /p mybiryear=請輸入您的出生西元年:
    set /a myage=2015 - mybiryear
    echo.
    echo %myname%您好,您的年齡為:%myage%歲
    pause
    
  5. quiz5.cmd
    @echo off
    SETLOCAL ENABLEDELAYEDEXPANSION
    for /L %%i in (2 1 9) do for /L %%j in (1 1 9) do (
     set /a sum=%%i*%%j
     echo %%ix%%j=!sum!
    )
    pause
    
  6. 因為沒有啟用延遲環境變數擴充功能,因此在括弧內的取用(echo %val%)會先作用,因此中間的echo 回應都是1,最後才執行變數的賦值(set val=3),所以最終echo的結果是3。
  7. showip.cmd
    @echo off
    rem route print | for /f "tokens=4" %i in ('find "0.0.0.0"') do @echo %i & exit /b
    FOR /F "tokens=4 delims= " %%i in ('route print ^| find "0.0.0.0"') do echo %%i & goto NEXT
    :NEXT
    pause
    

results matching ""

    No results matching ""