Very do-able but not as easily as you'd hope:
Code:
for file in *.dna; do blastall -p blastn -i $file -o ${file}.output
Will produce a bunch of files *.dna.output

To get *.output:
Code:
for file in *.dna; do blastall -p blastn -i $file -o `echo $file | sed 's/dna$//'`.output
Incidentally, windows actually lets you do something like this:
Code:
blastall -p blastn -i *.dna -o *.output
But only for certain commands - it seems to depend on how you hold your mouth when you do it.