0

为一个愚蠢和新手的问题道歉,但我没有任何 IT 背景,而且我似乎无法在谷歌中找到答案。

我目前正在尝试理解(非常)简单的批处理脚本,它恰好是:

for /F "tokens=1,2,3 delims=," %%i in (users.csv) DO dsadd user "cn=%%j
%%i %%k,ou=2013,ou=students,dc=[domain],dc=org" 

对我来说不清楚的位是 %%i、%%j、%%k。我可以看到它们代表 csv 文件中的列,分别为 1、2、3,并且输出的顺序为 2、1、3。

现在,我的问题是 - 变量的字母 i、j、k 是固定的吗?当我分别用 a、b、c 替换它们时,我可以看到这有效,所以我猜不是。那么这是一个商定的约定吗?

我猜这个位中的 %%idelims=," %%i in (users.csv)决定了哪个字母应该对应于第一个标记,然后将以下标记按字母顺序分配给 j 和 k?

4

1 回答 1

0

以下属性适用于 for 命令:

  • for 命令用指定集中的每个文本字符串替换 %variable 或 %%variable,直到该命令处理所有文件。

  • 因为变量名是区分大小写的、全局的,并且在任何时候总共可以不超过 52 个处于活动状态。

  • 为避免与批处理参数 %0 到 %9 混淆,您可以使用除数字 0 到 9 之外的任何字符作为变量。对于简单的批处理文件,可以使用单个字符,例如 %%f。

  • 您可以在复杂的批处理文件中为变量使用多个值来区分不同的可替换变量。

对于 - http://technet.microsoft.com/en-us/library/bb490909.aspx

定义的第一个字母将是第一个标记,其余标记是按字母顺序排列的下一个字母。

键入命令for /?以获取更多详细信息。

于 2013-10-01T21:14:41.807 回答