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.
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 */ p>
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;
}