摘要:BAT - 批次檔使用心得 (三)
批次檔除了可以可以傳入參數外,也可以在執行時輸入參數,只能說真是太神奇了(迷之音:是你太孤陋寡聞了...)。以下寫一個小範例來接參數,並且將顯示在畫面上的資訊,寫到一個文檔中...
Code:
ECHO OFF
SET /P VAR1=請輸入:
SET VAR2=%VAR1% LOVE Peggy Chun
FOR /F "tokens=1-3 delims=/ " %%a IN ("%DATE%") DO (SET MyDate=%%a%%b%%c)
SET VAR3=C:\%MyDate%.TXT
ECHO ========================================================================
REM 畫面輸入值。
ECHO %VAR1%
REM 內部指定的值。
ECHO %VAR2%
REM 寫入文字檔的路徑
ECHO %VAR3%
REM 展開為含目前目錄的字串。
ECHO %CD%
REM 展開為與 DATE 命令格式相同的目前日期字串。
ECHO %DATE%
REM 展開為與 TIME 命令格式相同的目前時間字串。
ECHO %TIME%
REM 展開為一個在 0 和 32767 之間的整數亂數值。
ECHO %RANDOM%
REM 展開為目前的 ERRORLEVEL 值。
ECHO %ERRORLEVEL%
REM 展開為目前的命令處理擴充功能的版本號碼。
ECHO %CMDEXTVERSION%
REM 展開為執行命令處理器前的原始命令列。
ECHO %CMDCMDLINE%
ECHO ========================================================================
REM 將資料寫到文字檔當中
ECHO ======================================================================== >> %VAR3%
ECHO %VAR1% - 畫面輸入值。 >> %VAR3%
ECHO %VAR2% - 內部指定的值。 >> %VAR3%
ECHO %VAR3% - 寫入文字檔的路徑。>> %VAR3%
ECHO %CD% - 展開為含目前目錄的字串。 >> %VAR3%
ECHO %DATE% - 展開為與 DATE 命令格式相同的目前日期字串。 >> %VAR3%
ECHO %TIME% - 展開為與 TIME 命令格式相同的目前時間字串。 >> %VAR3%
ECHO %RANDOM% - 展開為一個在 0 和 32767 之間的整數亂數值。 >> %VAR3%
ECHO %ERRORLEVEL% - 展開為目前的 ERRORLEVEL 值。 >> %VAR3%
ECHO %CMDEXTVERSION% - 展開為目前的命令處理擴充功能的版本號碼。 >> %VAR3%
ECHO %CMDCMDLINE% - 展開為執行命令處理器前的原始命令列。 >> %VAR3%
ECHO ======================================================================== >> %VAR3%
PAUSE
結果:

![]()

參考:
DOS 批次檔 batch file 取得日期為變數值的運用
批次檔BAT加強說明
批次檔教學
用批次檔輔助 IT 例行公事(在 XP 新增印表機)
如何利用批次檔取得今日的日期或時間;甚至是部分的日期或時間