Dear student,
Electrons are negatively charged and they are mainly responsible for the flow of current in the conductors.
So when we connect both ends of a conducting wire with battery; it generates a electric field across the wire. Now as free electrons are negative they flow towards the positive terminal of the battery and as a consequence current flows in opposite direction within the wire.
Similarly, for semiconductors, charges responsible for current conduction are positively charged hole (having charge of +1.6 x10-19 C) and negatively charged electrons. In this case holes flows towards the -ve terminal of the battery whereas electrons moves towards the +ve terminal of the battery.
So the electric potential diffrenece across the wire is mainly responsible for the flow of electric charges.
Regards,