健壯的輸入解析,是一個好的腳本和普通腳本的區(qū)分標準。本文將介紹一些相關(guān)技巧。
最簡單的方式讀取命令行參數(shù)
到目前為止,解析命令行參數(shù)最簡單的方法是按序號位置讀取所需參數(shù)。
在這個示例中,先拿到到第一個參數(shù),作為傳遞的文件的完整路徑。如果文件不存在則輸出一個錯誤信息到標準錯誤輸出,最后退出腳本:
SET filepath=%~f1
IF NOT EXIST "%filepath%" (
ECHO %~n0: file not found - %filepath% >&2
EXIT /B 1
)
可選參數(shù)
給參數(shù)設(shè)置默認值
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,程序重復運行。