What does %%a mean? (Batch)

2020-07-20 04:11发布

问题:

What does the %%a mean?
I understand the context but not how to use it. For example :

FOR %%a in (%HELP%) DO echo I don't Know what it means

回答1:

%%a refers to the name of the variable your for loop will write to.

Quoted from for /?:

FOR %variable IN (set) DO command [command-parameters]

  %variable  Specifies a single letter replaceable parameter.
  (set)      Specifies a set of one or more files.  Wildcards may be used.
  command    Specifies the command to carry out for each file.
  command-parameters
             Specifies parameters or switches for the specified command.

To use the FOR command in a batch program, specify %%variable instead
of %variable.  Variable names are case sensitive, so %i is different
from %I.

Example 1:

for %%a in (A B C D E) do Echo %%a

Produces

A
B
C
D
E

Example 2:

for %%a in (A B C) do (for %%b in (1 2 3) do Echo %%a:%%b)

Produces

A:1
A:2
A:3
B:1
B:2
B:3
C:1
C:2
C:3