Hi there,
I don't think that you really want to do that - I mean writing it with a standard do or for loop. You can and it looks like that:
names = FileNames["~/Desktop/Images/*"];
list = {}; Do[AppendTo[list, {Import[names[[i]]], ImageIdentify[Import[names[[i]]]]}], {i, 1,Length[names]}];
Grid[list, Frame -> All]
assuming your files are in a folder called "~/Desktop/Images/". The first line gets all the file names. The second creates and empty list. The Do loop makes a list of images and their identification. The last command plots.
Mathematica is much more elegant than that. You can use functional programming - rather than the procedural style above. The functional version looks like this:
names = FileNames["~/Desktop/Images/*"];
Grid[{Import[#], ImageIdentify[Import[#]]} & /@ names, Frame -> All]
Both give the same output.

Cheers,
Marco
PS: If your images are in nested directories this would work:
names = FileNames["*.jpeg", "~/Desktop/Images/", Infinity]