健壯的輸入解析,是一個好的腳本和普通腳本的區分標準。本文將介紹一些相關技巧。
最簡單的方式讀取命令行參數
到目前為止,解析命令行參數最簡單的方法是按序號位置讀取所需參數。
在這個示例中,先拿到到第一個參數,作為傳遞的文件的完整路徑。如果文件不存在則輸出一個錯誤信息到標準錯誤輸出,最后退出腳本:
SET filepath=%~f1
IF NOT EXIST "%filepath%" (
ECHO %~n0: file not found - %filepath% >&2
EXIT /B 1
)
可選參數
給參數設置默認值
SET filepath=%dp0\default.txt
:: the first parameter is an optional filepath
IF EXIST "%~f1" SET filepath=%~f1
讀取用戶輸入
@ECHO OFF
:confirm
SET /P confirm="Continue [y/n]>"
ECHO %confirm% | FINDSTR /I "y" > NUL && GOTO confirm
使用SET /P
讀取用戶輸入,然后使用|
(管道操作符)將用戶輸入定向到 FINDSTR
, /I
表示忽略大小寫。如果輸入的是Y
或者y
,程序重復運行。