Red de conocimiento informático - Consumibles informáticos - Cómo cambiar por lotes los nombres de las carpetas en lenguaje C (no en C++, C++ aprendiendo ing) es un problema, los principiantes no pueden ingresar.

Cómo cambiar por lotes los nombres de las carpetas en lenguaje C (no en C++, C++ aprendiendo ing) es un problema, los principiantes no pueden ingresar.

Escribí dos programas para ti. Eche un vistazo más de cerca. Eso es increíble :)

El primero es muy simple, puedes cambiar el nombre de la carpeta en el directorio actual, usando lenguaje C en lugar de C++ y API.

# incluir & ltstdio.h & gt

# incluir & ltstring.h & gt

int main(int argc, char *argv[])

{

char old fname[100];

char new fname[100];

Printf("Ingrese el nombre para cambiar el nombre El nombre del archivo (carpeta): ");

Get (antiguo fname);

strcpy(newfname, old fname);

strcat (newfname, ".{ 645 ff 040-5081-101 b-9f 08-00aa 002 f 954 e } ";

if (rename (oldfname, newfname)! = 0) //Renombrar, juzgar Si el cambio de nombre fue exitoso

{

Printf("¡El cambio de nombre falló!\n ");

}

Devuelve 0;

}

El segundo es más complicado. Tienes todas las funciones que deseas, incluido el recorrido de carpetas y el cambio de nombre, también en C, sin C++ ni API.

} p>

# include & ltstdio.h & gt

# include & ltstring.h & gt//Contiene declaraciones de funciones para operaciones de cadenas

# include & ltio .h & gt//Contiene la declaración de la estructura y función del archivo (carpeta)

# include & lttime.h & gt//Contiene la declaración de la función de tiempo

intrenamedir(struct _ find data _ t * fdata, char * fname) // Se ha cambiado el nombre del directorio

{

char old fname[260]= "T";

char.new fname[260]= "T";

confirmación de caracteres;

strcpy(oldfname, fname);

nombre antiguo[strlen(nombre antiguo)- 1]= '\0';

strcat(nombreantiguo, fdata->nombre);

strcpy(nombrenuevo, nombref);

nuevo nombref [strlen(nuevo nombref)-1]= '\0';

strcat(nuevo nombre, fdata->nombre);

strcat( nuevonombre, ".

{ 645 ff 040-5081-101 b-9f 08-00aa 002 f 954 e } ";

Printf("Fecha del directorio %25c \n ",' ');

printf("-% 25c \n ", ' ');

printf( "%-32s %.24s \n ", fdata-> nombre, ctime(&(fdata-> time_write) ));

Printf("¿Cambiar nombre (Y/N)?");

fflush(stdin);

confirmar = getchar (); ¿Confirmar si se debe cambiar el nombre?

if(confirm == 'y' || confirm == 'Y ')

{

if (Rename( oldfname, newfname)!= 0) //Cambiar nombre, determinar si el cambio de nombre se realizó correctamente

{

printf("\n¡Cambiar nombre falló!\n" );

return 2;

}

printf("\n¡Renombrado correctamente!\n");

}

Otros

{

printf(" \nDirectorio de clips: %s \n ", fdata-& gt; nombre);

Return 1; p>}

Devuelve 0;

}

Int findDir(char *fname) //Juicio de directorio

{

struct _ finddata _ t fdata

Archivo h largo

char buscar nombre[260];

char subnombre[260];

strcpy(findname, fname);

strcat(findname, "\\*");

/*Busca el primer archivo c en el directorio actual */

if ((hFile = _findfirst( findname, & ampfdata )) == -1L)

{

Printf ("Directorio %s no encontrado, asegúrese de ¡el directorio existe!\n ", fname);

}

Otro

{

Hacer

{

if((strcmp(fdata.name, " ")== 0) || (strcmp(fdata.name, ".

") == 0) )

{

Continuar;

}

si no((fdata . attrib & _A_SUBDIR ) ! = 0)

{

//Recursión

strcpy(subnombre, fname);

strcat(subnombre, " \ \ ");

strcat(subnombre, fdata.name);

findDir(subnombre);

//Renombrar

renombrar directorio (& fdata, buscar nombre);

}

} while (_findnext(hFile, & fdata)= = 0);

_ findclose(hFile)

}

Devuelve 0

}

int main(int argc, char * argv[])

{

char fname[260]= " t ";

Printf("Ingrese la carpeta cuyo nombre de subcarpeta desea cambiar (por ejemplo, D:\ \ ​​​​prueba)\ n:");

Obtener (fname);

buscar directorio(fname);

Devolver 0;

}