Do you know Basic? I've always kept a copy of QBASIC.EXE hanging around on my hard drive for anytime I need to write a quick 'n dirty throw-away.
Or, if I'm not mistaken, W2K and later have VBS built in.
Personally, though I'm an old dog none too keen on having to learn yet another set of tricks (when 80% of what I know is obsolete knowledge), I found PERL to be worth the downloading and learning. I use it anytime I need to interact with a website (a few lines of code, and you've got the site's page sitting in memory, ready to run through) or if all I need to do is extract particular lines from a file, which it sounds like you're doing.
For example:
open (INFILE, "filetoprocess.txt"); open (OUTFILE, "resultsfile.txt"); while (<INFILE>) { if (/I like PERL/) { print OUTFILE "$_\n"; } } close INFILE; close OUTFILE;
I think that's about right, but I haven't used it for a bit, so there might be a syntax error or two.
But that quickly reads from one file, and takes every line containing "I like PERL" and writes it (plus a linefeed -- the "\n" thing) to another file.
It's one of the quickest ways to do something like that.
It gets even sweeter, though, if you want to just grab a part of the line in which the text was found. It's got a function called SPLIT that's terribly handy.
But where I like it best is interacting with websites.
For example, SI removes "dead" (threads with no activity for 90 days) threads from its thread search, so a common problem there is trying to find an old thread that hasn't been posted to for a long time. The threads themselves aren't removed. They're just not searchable.
The following bit of code produced the thread list I keep on my sibob site:
while ($threadnum < $endthreadnum) { $cur_url=$baseurl.$threadnum; print "$threadnum "; $request=new HTTP::Request GET => $cur_url; $response=$ua->request($request, "header.si"); open (MESSAGE, "header.si"); while (<MESSAGE>) { chomp; if (/\<title\>SI\: /) { ($junk, $save)=split(/\<title\>SI\: /, $_); ($threadtitle, $junk)=split(/\<\/title\>/, $save); print OUTFILE "$cur_url / $threadtitle\n"; print "$threadtitle\n"; last; } } close (MESSAGE); $threadnum++; close (OUTFILE); open (OUTFILE, ">>thread.si"); }
It starts with thread 1 and goes up to 37035 (this is really old -- the ending thread number would be considerably higher now), and if a valid page is returned, it looks for whatever is between "<title>SI:" and "</title>", saves that text as the thread name, and also saves the URL, then moves on to the next thread.
I later used QBasic (because I was more comfortable with it for just crunching on strings and reshaping them) to make the HTML, complete with a href's, but I know it can be done in PERL, too. In fact, looking at the PERL code right now, I can see that just one more line is all I'd need to make a ready-to-use HTML.
PERL's a really sweet language for doing a lot of things quickly, especially searching for and dealing with text in files or interacting with a website.