Renombrar ficheros

yordic
28 de Febrero del 2010
Hola compañeros, estoy haciendo un programa en C para que renombre todos los archivos de una carpeta, para que sea cual sea el nombre que tienen, queden ordenados asi:

01nombrecualquiera
02otronombre
03...
04...
...
Y asi hasta renombrar todos los ficheros que haya.
Se que usando la orden de ms-dos rename se puede renombrar un archivo, pero haciendo un rename *.* no se puede pq todos los archivos se renombrarian con el mismo nombre y no se podria hacer.

La orden es:

rename[archivo1] [archivo2]

Sabeis si puedo poner dentro de la orden:

system("rename c:\carpeta_ficheros\ *.* %s", cadena);
o eso es imposible??

Espero que me podais ayudar a sacar ideas para hacerlo!!

Muchas gracias!!

yordic
28 de Febrero del 2010
la funcion seria:

int main()
{
char viejo[18] = "fichero_viejo.tmp", nuevo[18] = "fichero_nuevo.tmp";

printf( "fichero viejo: %s", viejo );
if( rename(viejo, nuevo) == 0 ) printf( ", renombrado: %sn", nuevo );
else printf( "nNo pudo ser renombradon" );

return 0;
}

pero alguien sabe alguna manera de que pudiera hacerlo con muchos archivos?

yordic
28 de Febrero del 2010
ya lo he solucionado, gracias.