If anyone is still ever looking at this and are interested in scripting instead of batching, you can use the glob module in python to search through your directory that contains the .csv's, and then use one of the arc tools (feature class to feature class, copy features, etc.) as mentioned above.
You can download the glob module for free, but I think it already exists in package.
I would do something like this,
from glob import glob
directory = glob("DriveLetter:\FolderPath\\*.csv")
-- grabs all .csv files and puts them into array called directory
for files in directory:
arcpy.MakeXYEventLayer_management(files, "xcoordField", "ycoordField", "outputName", "spatialReference", "zcoordFieldIfExists")
arcpy.FeatureClassToFeatureClass_conversion("outputNameFromMakeXY", "YourDesiredOutputLocation", "NameofYourOutputFeatureClassorShapefile", "expressionIfEvenNeeded")
If your .csv's all have the same naming for their fields this can be easy because you can hardwire them in, it is also best to have the spatial reference parameter as a GetParameterAsText(#), or just not give it a spatial reference and use the same script when finished and perform a define projection on your new shapefiles
you can also use python for the naming to only keep so many characters from each object in the directory array and using it for output names
This is a pretty clunky answer but gives you some hints to google for and try to make it work