【发布时间】:2017-04-02 04:31:14
【问题描述】:
假设循环运行在一组命令行参数上,如下所示。 现在如何将下一个命令行值分配给循环内的变量?
FOR %%q IN (%*) DO
(
IF %%q == "abc" (
set a = //next command line value
)
)
在 linux 中可以这样做
argv=("$@");
i=0
while(($i < ${#argv[*]})); do
case "${argv[$i]}" in
abc)
((i++)); a="${argv[$i]}"
;;
esac
((i++))
done
我想知道批处理文件中的等效项。
【问题讨论】:
-
查看
for /f帮助和delayed expansion -
不要使用批处理(shell 脚本)。 PowerShell 要好得多。
标签: windows batch-file