Multiple Image Transfer

I’m trying to use this file to transfer multiple images from thee micro SD break out board to my computer using the serial port. I can do one image, but can’t figure out how to expand on it and do more. Can anyone help?

  SD card file dump
 This example shows how to read a file from the SD card using the
 SD library and send it over the serial port.
 The circuit:
 * SD card attached to SPI bus as follows:
 ** MOSI - pin 11
 ** MISO - pin 12
 ** CLK - pin 13
 ** CS - pin 4
 created  22 December 2010
 by Limor Fried
 modified 9 Apr 2012
 by Tom Igoe
 This example code is in the public domain.

#include <SD.h>

// On the Ethernet Shield, CS is pin 4. Note that even if it's not
// used as the CS pin, the hardware CS pin (10 on most Arduino boards,
// 53 on the Mega) must be left as an output or the SD library
// functions will not work.
const int chipSelect = 4;

void setup()
 // Open serial communications and wait for port to open:
   while (!Serial) {
    ; // wait for serial port to connect. Needed for Leonardo only

  Serial.print("Initializing SD card...");
  // make sure that the default chip select pin is set to
  // output, even if you don't use it:
  pinMode(10, OUTPUT);
  // see if the card is present and can be initialized:
  if (!SD.begin(chipSelect)) {
    Serial.println("Card failed, or not present");
    // don't do anything more:
  Serial.println("card initialized.");
  // open the file. note that only one file can be open at a time,
  // so you have to close this one before opening another.
  File dataFile ="pic.jpg");

  // if the file is available, write to it:
  if (dataFile) {
    while (dataFile.available()) {
  // if the file isn't open, pop up an error:
  else {
    Serial.println("error opening pic.jpg");

void loop()

but can't figure out how to expand on it and do more.

Replicate the code that copies one file.

Even better would be to put that code in a function that takes a file name, and call that function more than once.

At the moment you're just streaming the bytes from the image file over the serial connection. You'd need an application at the other end to receive that stream and write them to a file in order for this to perform a file transfer. To transfer multiple files then requires some way for the receiving application to know where one file ends and the next one starts, perhaps it would need to know the file name associated with each file too. You need to understand how you're solving those problems before you can implement the Arduino side, because the solution will surely affect the way the file contents are encoded over the serial stream.