健壮的输入解析,是一个好的脚本和普通脚本的区分标准。本文将介绍一些相关技巧。
最简单的方式读取命令行参数
到目前为止,解析命令行参数最简单的方法是按序号位置读取所需参数。
在这个示例中,先拿到到第一个参数,作为传递的文件的完整路径。如果文件不存在则输出一个错误信息到标准错误输出,最后退出脚本:
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
,程序重复运行。
网友评论