FORFILES.exe (Resource Kit)
Batch process multiple files
syntax FORFILES [-pPath] [-s] [-dDate] [-mMask] [-cCommand] key -pPath : Path to search default=current folder -s : Recurse into sub-folders -dDate : This can be +DDMMYY to select files newer than a given date (filedate >=DDMMYY) or -DDMMYY to select files older than a given date (filedate <=DDMMYY) or +DD to select files newer than DD days ago or -DD to select files older than DD days ago
-mMask : Search mask (wildcards allowed) default=*.*
-cCommand : Command to execute on each file. default="CMD /C Echo @FILE" -v : Verbose report
The following variables can be used in the -cCommand (must be upper case)
To ECHO Hex characters in the Command use: 0xHH
To find every text file on the C: drive
FORFILES -pC:\ -s -m*.TXT -c"CMD /C Echo @FILE is a text file"
To show the path of every HTML file on the C: drive FORFILES -pC:\ -s -m*.HTML -c"CMD /C Echo @RELPATH is the location of @FILE"
List every folder on the C: drive
FORFILES -pC:\ -s -m*. -c"CMD /C if @ISDIR==TRUE echo @FILE is a folder"
For every file on the C: drive list the file extension in double quotes
FORFILES -pc:\ -s -m*.* -c"CMD /c echo extension of @FILE is 0x22@EXT0x22" List every file on the C: drive last modified over 100 days ago FORFILES -pc:\ -s -m*.* -d-100 -c"CMD /C Echo @FILE : date >= 100 days"
Find files last modified before 01-Jan-1995 FORFILES -pc:\ -s -m*.* -d-010195 -c"CMD /C Echo @FILE is quite old!" note: '0x22' is hex 22 - the double quote character - put these around any long filenames.
Version 1.0 of FORFILES will only search for files newer
than a specified date.
Version 1.1 (described above) can search for file dates Newer or Older then a specified date.
version 1.1 can be downloaded from microsoft's ftp site
FOR - Conditionally perform a command several times.
MUNGE - Find and Replace text within file(s)
Equivalent Linux BASH commands:
for - Expand words, and execute commands
case - Conditionally perform a command
eval - Evaluate several commands/arguments
if - Conditionally perform a command
while - Execute commands