batch-file - 向批处理脚本添加标志

标签 batch-file flags

我正在编写一个将在目录上运行的批处理脚本。我希望能够添加一个标志(例如 -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.
)

关于batch-file - 向批处理脚本添加标志,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15143259/

相关文章:

batch-file - 为什么批处理文件中的命令 XCOPY 要求文件或文件夹?

windows - 如何批量检查windows/explorer的启动时间?

Android,Intent.FLAG_ACTIVITY_CLEAR_TOP 好像不行?

java - 从 shell 文件创建批处理文件

string - 在批处理文件中,如何查找文本文件中出现的字符串?

windows - XP 上的 dos 批处理文件中的变量未正确设置

汇编语言 - 标志设置让我头疼

xaml - 有没有办法在 XAML Xamarin 中指定多个 LayoutFlags?

go - Go 的 os.OpenFile 标志参数中管道字符的用途是什么?

android - 如果将 PendingIntent 上的标志设置为 0 会发生什么情况?