Subscribe to Windows IT Pro
August 28, 2003 12:00 AM

How can I perform a batch action on a list of files from the command line?

Windows IT Pro
InstantDoc ID #39958
Rating: (6)

A. You can use the built-in "for" command to loop through a list of files. If you type the command

for /f "tokens=*" %a in ('dir /b *.*') do echo %a

the command outputs only the name of each file in the current folder, which the 'dir /b *.*' component can do all by itself. However, you can edit the "do" portion of the command to perform a secondary task. For example, you can add the name of a batch file and the %a parameter to call the batch file on each .msg file:

for /f "tokens=*" %a in ('dir /b *.msg') do datetime.bat %a

In addition to outputting the name of each file in the specified folder, this command adds the current date and time to the end of each .msg filename. If you use the command in a batch file, you need to add two percent (%) signs instead of one to access the parameters. For example, if you incorporate the above command into a batch file, you would type it as

for /f "tokens=*" %%a in ('dir /b *.msg') do datetime.bat %%a

Related Content:

ARTICLE TOOLS

Comments
  • Martin
    9 years ago
    Sep 24, 2003

    How might I use a batch file to delete log files that are over a week old?

You must log on before posting a comment.

Are you a new visitor? Register Here

advertisement

advertisement

Windows is a trademark of the Microsoft group of companies. Windows IT Pro is used by Penton Media Inc. under license from owner.