Yes, it's possible to mass convert leads in Apex Code. See the documentation on Database.convertLead here: Database.convertLead docs
You can convert up to 100 leads at a time and you can use it in a scheduled class or as part of a batch apex operation (or both) if you want to convert much larger sets of leads. The documentation linked above contains good sample code at the bottom of the page. However, the example is for a single lead, here's a multiple lead conversion example:
// Create some sample leads.
List<Lead> myLeads = new List<Lead>{
new Lead( LastName = 'Last1', Company='Company1' ),
new Lead( LastName = 'Last2', Company='Company2' )
};
insert myLeads;
// Get a valid lead conversion status.
LeadStatus convertStatus = [SELECT Id, MasterLabel
FROM LeadStatus WHERE IsConverted=true LIMIT 1];
// Create a list of lead conversions, then create a leadConvert object
// and add it to the list of lead conversions to be executed.
List<Database.LeadConvert> leadConversions = new List<Database.LeadConvert>();
Database.LeadConvert lc = new database.LeadConvert();
lc.setLeadId( myLeads[0].id );
lc.setConvertedStatus( convertStatus.MasterLabel );
leadConversions.add( lc );
// Create the second lead conversion and add it to the list.
lc = new database.LeadConvert();
lc.setLeadId( myLeads[1].id );
lc.setConvertedStatus( convertStatus.MasterLabel );
leadConversions.add( lc );
// Execute the conversions and check for success.
List<Database.LeadConvertResult> results = Database.convertLead( leadConversions );
System.assert(results[0].isSuccess());
System.assert(results[1].isSuccess());
The name method is not a good way of going about this. For one, it's a pain to change if others need to use the same functionality, or if you do want to fire triggers.
If you did want to make a "No triggers" flag, I would make it a custom checkbox field, then mark it as TRUE on your file before uploading via the data loader. If your trigger fires "Before" then you can just uncheck the box after skipping the rest of the code. If there is "After" code on the trigger then you will need to create a static variable to hold the NoTriggers boolean, and then use that to skip the "After" logic as well.
You could also create a custom setting that could be checked and unchecked when triggers should be skipped or not. In your trigger, only skip the code if the custom setting field is checked, and a System Administrator (or whatever your profile is) is logged in. Profile is more durable to use here than user name.
Best Answer
I don't think we can upload profile photos in Bulk as per current salesforce functionality. There is already an idea link https://success.salesforce.com/ideaview?id=08730000000HA1nAAG
There is a free app exchange application called Photo Uploader which might be helpful as well