Delete all files on SD card

Hi there.

I am trying to make a function which deletes all the files on the SD card by the push of one button. The files on the card is created by a datalogger which creates logger00.csv files from 00 to 99.

This is how i think is should be made, by creating a for loop, which deletes the files one by one, but i can figure out how to program the rest?

best regards Bastian

here is my code. I hope you could help me.

/*
  SD card basic file example
 
 This example shows how to create and destroy an SD card file 	
 The circuit:
 * SD card attached to SPI bus as follows:
 ** MOSI - pin 11
 ** MISO - pin 12
 ** CLK - pin 13
 ** CS - pin 4
 
 created   Nov 2010
 by David A. Mellis
 modified 9 Apr 2012
 by Tom Igoe
 
 This example code is in the public domain.
 	 
 */
#include <SD.h>

File myFile;

int deletePinSD = 5;

boolean deleteboolean = false;

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


  Serial.print("Initializing SD card...");
  // On the Ethernet Shield, CS is pin 4. It's set as an output by default.
  // Note that even if it's not used as the CS pin, the hardware SS pin 
  // (10 on most Arduino boards, 53 on the Mega) must be left as an output 
  // or the SD library functions will not work. 
  pinMode(53, OUTPUT);
  pinMode(deletePinSD, INPUT);

  if (!SD.begin(53)) {
    Serial.println("initialization failed!");
    return;
  }
  Serial.println("initialization done.");


  
}

void loop()
{
  
  if (digitalRead(deletePinSD)==LOW)
  {
    deleteboolean = false;
  }
  // delete the file:
  
  if (digitalRead(deletePinSD)==HIGH)
  {
   deleteboolean = true;
  }
  
  if (deleteboolean==true)
  {
  Serial.println("Removing example.txt...");
  char filename[] = "LOGGER00.CSV";
  for (uint8_t i = 0; i < 100; i++)
  {
  SD.remove(filename);

  if (SD.exists(filename)){ 
    Serial.println("Could not delete all data");
  }
  else 
  {
    Serial.println("All files deleted");    
  }
  }
  deleteboolean = false;
}

}

This will simply attempt to delete the SAME file 100 times.

 for (uint8_t i = 0; i < 100; i++)
  {
  SD.remove(filename);

  if (SD.exists(filename)){ 
    Serial.println("Could not delete all data");
  }

Something like this might be a bit closer

 char filename[13];
 for (uint8_t i = 0; i < 100; i++)
  {
   sprintf(filename,"LOGGER%02d.CSV", i); 
   SD.remove(filename);
   if (SD.exists(filename))
     { 
      Serial.print("Could not delete file");
      Serial.println(filename);
     }
  }

Thank you very much. I simply had figured out that i would not work. I have very litte experience with for loops. I has been primarily while and if. So again thank you very much.

Bastian