Wanna loop over files in bash and perform a cmd on those files?

# (where $i is replaced by the name of the file)for i in ./*.conf; do cmd -c $i; done

or using find

# (where {} is replaced by the name of the file)
find . -name *.conf -exec cmd {} \;

I usually opt. for the find version because it seems to be more capable.

Then if you are on windows, you don't get find and you can't use the bash syntax of course.... So use, forfiles! What a gem. Gives you access to filename without extension and do things differently if you are testing for files or folders.
forfiles is very powerful.O'Reilly -- Ten Essential Windows 2000 Commands

Cutting up file/path strings in bash

Of course you could use the programs 'dirname' or 'basename'...but you can also do it using bash regex...

#This program lists the parameters that were passed to the program, along with the parameter number.
count=1
while [ -n "$*" ]
do
echo "This is parameter number $count $1"
shift
count='expr $count + 1'
done

Case statement

case $1 in
-i)
count='grep ^i $2 | wc -l'
echo "The number of lines in $2 that start with an i is $count"
;;
-e)
count='grep ^e $2 | wc -l'
echo "The number of lines in $2 that start with an e is $count"
;;
*)
echo "That option is not recognized"
;;
esac

For

# In this form, the for statement executes once for each item in the list.
# This list can be a variable that contains several words separated by spaces,
# or it can be a list of values that is typed directly into the statement. Each
# time through the loop, the variable var1 is assigned the current item in the
# list, until the last one is reached.
for var1 in list
do
commands
done

How to run a command for each line of a file using sed.
sed is your friend.