请原谅我的新手问题,但自从 autoexec.bat 时代以来,我就不必接触 bat 脚本了……甚至直接从系统调用了那个脚本。
所以我想知道如何将参数传递给我的 bat 脚本?
例如,我想创建 n 个具有特定名称的目录。我想使用这样的构造:
for %%N in (1 to $arg1$) do mkdir $arg2$-%%N
结果我想有N个目录被称为
- 名称-1
- 名称-2
- 名称 3
... 等等。
谢谢!
请原谅我的新手问题,但自从 autoexec.bat 时代以来,我就不必接触 bat 脚本了……甚至直接从系统调用了那个脚本。
所以我想知道如何将参数传递给我的 bat 脚本?
例如,我想创建 n 个具有特定名称的目录。我想使用这样的构造:
for %%N in (1 to $arg1$) do mkdir $arg2$-%%N
结果我想有N个目录被称为
... 等等。
谢谢!
批处理文件使用位置参数编号(%1、%2、%3)来指示参数。对于您的示例,它将是:
对于 %%N in (1 to %1) do mkdir %2-%%n
这是一个参考指南。
但是你的 for 循环的构造也是不正确的——据我所知,批处理文件中没有“to”关键字。括号中的东西应该是一个集合(例如:1 2 3 4) - 我不确定你是否可以像你想要的那样循环而不使用标签和 goto ...
这是FOR 命令的语法。
以下是使用标签和 goto 执行循环的方法——从程序员的角度来看,它并不漂亮——但是批处理文件呢?
它只是 %1 %2 ... %n 用于参数 1、参数 2、...、参数
例如看这个。
我这样做的for循环是这样的:
我想你想要的是: