You have a directory full of log files that you want to import into Excel or a database so you can do some processing on them… but there are hundreds of files… how do you make them into a single file?
Answer: Pull out your DOS hat, open a command prompt, and then use the “for” command.
The syntax works something like this:
for <variablename> in (<directorylisting>) do <command> <variablename>
So if you wanted to append all of the *.log files in a directory, you’d use the “type” command and then pipe it into a single file using the >> operator.
The difference between >> and > is that the former appends data to the end of the file, and the latter will completely replace the file, which would be pointless for what we want to do.
So here’s the command you’d run, assuming you are in the directory containing the log files.
for %f in (*.log) do type "%f" >> aggregate.txt
And yes, I actually just used this command for a project at work, which is why I’m writing up this article. =)
Random thought: What on earth would a DOS hat look like?
Programmer by day, geek by night, The Geek, also known as Lowell Heddings, spends all his free time bringing you fresh geekery on a daily basis. You can follow him on Google+ if you'd like.
- Published 07/2/07