Understanding the Command Line For Loop

Written by Barry Dysert (last updated December 20, 2021)

As you get more comfortable typing at the command prompt, you may want to explore what the For loop can do for you. Fundamentally, the For loop lets you execute commands over a set of items like files or directories. So, for example, if you want to perform the same activity over a set of files, using a For loop can provide tremendous time savings.

The general form of a For loop is:

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

Where "%variable" can be anything from "%a" through "%z"; the "set" is the list of space-separated file names on which you want to perform the "command"; and the "command-parameters" are an optional list of parameters to accompany the "command".

As an example, if you wanted to display to the screen the contents of files a.txt, b.txt, and c.txt you could do so using the following For loop:

FOR %i IN (a.txt b.txt c.txt) DO TYPE %i

If you have command extensions enabled, there are some additional forms of the For loop:

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

In this form, if "set" contains a wildcard character then it represents directories instead of files.

FOR /R [[drive:]path] %variable IN (set) DO command [parameters]

In this form, the loop walks the directory tree specified by "[[drive:]path]", executing the FOR statement in each directory along the path.

FOR /L %variable IN (start,stop,end) DO command [parameters]

In this form, the set is a sequence of numbers from "start" to "end", by "step" amount.

FOR /F ["options"] %variable IN (set) DO command [parameters]

In this form, "set" is one or more file names. Each file is opened, read, and processed before going on to the next file in "set". This particular form is quite powerful when "options" are specified. Details and examples can be found by typing "FOR /?" at the command line.

 This tip (13118) applies to Windows 7, 8, and 10.

Author Bio

Barry Dysert

Barry has been a computer professional for over 35 years, working in different positions such as technical team leader, project manager, and software developer. He is currently a software engineer with an emphasis on developing custom applications under Microsoft Windows. When not working with Windows or writing Tips, Barry is an amateur writer. His first non-fiction book is titled "A Chronological Commentary of Revelation." ...

MORE FROM BARRY

Checking a Disk Drive for Free Space

Keeping track of your resources can help you avoid serious computer problems. Having an adequate amount of disk space is ...

Discover More

AutoRuns

Would you like to have one place to go in order to see what all programs are starting when your system starts or when you ...

Discover More

What is Bluetooth?

Bluetooth is a popular technology that frees you from dealing with wires and cables, and it makes you a bit more mobile. ...

Discover More
More WindowsTips

Clearing the Address Resolution Protocol Cache

Corrupt or unwanted Address Resolution Protocol (ARP) cache entries can cause connectivity errors. Here is how to flush ...

Discover More

Using the Find Command

Finding data within files is a common need. If what you're looking for is in a flat file, you can find what you're after ...

Discover More

Copying Files Using the Command Line

The copy command can be a timesaver over trying to do the similar sort of thing with Windows Explorer. You can copy ...

Discover More
Comments

If you would like to add an image to your comment (not an avatar, but an image to help in making the point of your comment), include the characters [{fig}] (all 7 characters, in the sequence shown) in your comment text. You’ll be prompted to upload your image when you submit the comment. Maximum image size is 6Mpixels. Images larger than 600px wide or 1000px tall will be reduced. Up to three images may be included in a comment. All images are subject to review. Commenting privileges may be curtailed if inappropriate images are posted.

What is eight less than 8?

There are currently no comments for this tip. (Be the first to leave your comment—just use the simple form above!)


Newest Tips