'loop through directory names using a batch file?

Assume I have this structure:

d:/
  -- /alpha/
  -- /beta/
  -- /gamma/
  -- /delta/

I'm trying to execute a batch file that goes through those folders (but not through sub-folders within them).

How do I get this result using a FOR LOOP (assuming I don't know the name and quantity of the folders):

ren alpha alpha1
ren beta beta1
ren gamma gamma1
ren delta delta1


Solution 1:[1]

This is all you should need -- directly at the command prompt:

for /D %i in (*) do rename "%i" "%i1"

or in a batch file (note the doubled %):

for /D %%i in (*) do rename "%%i" "%%i1"

The /D performs the command against the directory names, as per the help, which can be obtained using the command for /?

If Command Extensions are enabled, the following additional forms of the FOR command are supported:

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

If set contains wildcards, then specifies to match against directory
names instead of file names.

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1 T.J. Crowder