Nope, that didn't work. So here is my code:
Code:
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#include<windows.h>
int isDirGood(WIN32_FIND_DATA dir){
return (dir.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY)
&& (strcmp(dir.cFileName, "."))
&& (strcmp(dir.cFileName, ".."));
}
int isFileGood(WIN32_FIND_DATA file){
return !(file.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY);
}
void renameFiles(char *startingDir){
HANDLE hTheFiles;
WIN32_FIND_DATA theFiles;
int len;
puts(startingDir);
len = strlen(startingDir);
startingDir[len]='*';
startingDir[len+1]=0;
hTheFiles = FindFirstFile(startingDir, &theFiles);
startingDir[len]=0;
if(hTheFiles==INVALID_HANDLE_VALUE) return;
do{
if(isDirGood(theFiles)){
sprintf(startingDir+len, "%s\\", theFiles.cFileName);
//puts(startingDir);
renameFiles(startingDir);
startingDir[len]=0;
printf("hahahahahahahahahahahahaha");
}else if(isFileGood(theFiles)){
//RENAME THE FILE
printf("FILE: %s%s renamed\n", startingDir, theFiles.cFileName);
}
}while(FindNextFile(hTheFiles, &theFiles));
FindClose(hTheFiles);
}
char *dirToFullPath(char *s){
char curDir[MAX_PATH];
if(!s) s = (char*)calloc(1, MAX_PATH);
if(!*s){//no dir specified
GetCurrentDirectory(MAX_PATH, s);
if(s[strlen(s)-1]!='\\')
strcat(s,"\\");
}
else if(s[1]==':'){//full path dir
if(s[strlen(s)-1]!='\\')
strcat(s,"\\");
}
else{//relative dir
GetCurrentDirectory(MAX_PATH, curDir);
if(curDir[strlen(curDir)-1]!='\\')
strcat(curDir,"\\");
if(*s=='\\') s++;
if(s[0] && s[strlen(s)-1]!='\\')
strcat(s,"\\");
strcat(curDir,s);
strcpy(s, curDir);
}
return s;
}
int main(void){
char s[1000];
char a[1000]="c:\\test";
strcpy(s, a);
dirToFullPath(s);
renameFiles(s);
return 0;
}