我正在编写一个将在目录上运行的批处理脚本。我希望能够添加一个标志(例如 -r 或 /r 或类似的东西),这将使脚本运行文件夹树而不是单个目录。是否可以使用批处理添加标志选项?
谢谢
我正在编写一个将在目录上运行的批处理脚本。我希望能够添加一个标志(例如 -r 或 /r 或类似的东西),这将使脚本运行文件夹树而不是单个目录。是否可以使用批处理添加标志选项?
谢谢
当然有可能。命令行参数以 %1、%2 等形式传入批处理文件(%0 是批处理文件的名称。)
IF "%1"=="/r" ECHO You passed the /r flag.
用于SHIFT
删除第一个参数并将所有其他参数移动一个。如果您想允许 /r 出现在命令行中的任何位置,您可以使用它来变得更漂亮。例如:
:processargs
SET ARG=%1
IF DEFINED ARG (
IF "%ARG%"=="/r" ECHO You passed the /r flag.
SHIFT
GOTO processargs
)
或者在这样的循环中使用%*
(扩展到整个参数列表) :FOR
FOR %%A IN (%*) DO (
IF "%%A"=="/r" ECHO You passed the /r flag.
)