Hallo Ghost!
Hier mal meine Lösung: (funktioniert über eine Stapelverarbeitungsdatei)
//Nickles - Verzeichnisse mit Zahlennamen anlegen - Stand vom 22.10.2003
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <time.h>
char dosstring1[256]=("mkdir C:\\"); //String mit dem Anfang des Dos-Befehls (hier ist auch der Pfad enthalten
//wo alle Verzeichnisse angelegt werden sollen
char dosstring2[256]=(" "); //String, der den umgewandelten Zahlenwert aufnimmt (=Ende des Dos-Befehls)
char kopie[256]=(" "); //String, der eine Arbeitskopie von eingabe erhält
char pfadbat[]=("C:\\Temp.bat"); //Pfad und Name der temporären *.bat - Datei
char systemstring[]=("start "); //für das Starten der *.bat-Datei über system() erforderlich
void sleep(int zeit); //Wartefunktion
int main(void)
{
FILE *bat; //Stream für *.bat-Datei
if ((bat=fopen(pfadbat,"w"))==NULL) //Anlegen der *.bat-Datei zum Schreiben
{
fprintf(stderr,"Fehler beim Anlegen der Bat-Datei!");
fprintf(stderr,"\n******************************* AUF WIEDERSEHEN! *******************************\n\n");
sleep(3);
exit(-1);
}
for (int i=1; i {
strcpy(kopie,dosstring1); //eingabe in kopie kopieren
sprintf(dosstring2, "%d", i); //Zahl in string umwandeln und in dosstring2 ablegen
strcat(kopie,dosstring2); //dosstring2 an kopie anhängen
fprintf(bat,"%s\n",kopie); //mkdir c:\\X in die *.bat-Datei schreiben (X ist der Verzeichnisname)
printf("%s\n",kopie); //zusätzliche Ausgabe am Bildschirm
//sleep(1); //evtl. Pause?
}
fprintf(bat,"del %s",pfadbat);
if(fclose(bat)==-1) //*.bat-Datei schließen
{
fprintf(stderr,"\nFehler beim Schliessen der Bat-Datei!");
fprintf(stderr,"\n******************************* AUF WIEDERSEHEN! *******************************\n\n");
sleep(3);
exit(-1);
}
strcat(systemstring,pfadbat);
system(systemstring);
return 0;
}
void sleep(int zeit) //Wartefunktion
{
clock_t goal;
printf("\n");
goal=(zeit*CLOCKS_PER_SEC)+clock();
while(goal>clock())
;
}
Hoffe der Code wird einigermaßen fehlerfrei gepostet (hab immer wieder Probleme zwecks HTML-Format) - falls nicht, kannst Du mir noch Deine E-Mail-Adresse nennen, dann kann ich ihn Dir nochmal unverfälscht zukommen lassen...
Gruß Martin!