int main()
{
string foldername;
cout << "Enter folder name." << endl;
cin >> foldername;
int fileindex = 0;
string filenamestring, tempstring;
WIN32_FIND_DATA findfiledata;
HANDLE hFind, hFile;
foldername += "\\*.*";
hFind = FindFirstFile(foldername.c_str(), &findfiledata);
if(hFind != INVALID_HANDLE_VALUE)
{
tempstring = findfiledata.cFileName;
tempstring.erase(0,tempstring.find("."));
filenamestring = '0' + tempstring;
hFile = CreateFile(findfiledata.cFileName,
GENERIC_ALL,
0,
NULL,
OPEN_EXISTING,
FILE_ATTRIBUTE_NORMAL,
NULL);
SetFileShortName(hFile, filenamestring.c_str());
while (FindNextFile(hFind, &findfiledata) != 0)
{
++fileindex;
tempstring = findfiledata.cFileName;
tempstring.erase(0,tempstring.find("."));
filenamestring = inttostring(fileindex) + tempstring;
hFile = CreateFile(findfiledata.cFileName,
GENERIC_ALL,
0,
NULL,
OPEN_EXISTING,
FILE_ATTRIBUTE_NORMAL,
NULL);
SetFileShortName(hFile, filenamestring.c_str());
}
}
CloseHandle(hFile);
FindClose(hFind);
return 0;
}
Windows filerenaming techniques
When I try to run this renaming test application, it gives the following errors in debug mode:
'testbase.exe': Loaded 'C:\WINNT\system32\NTDLL.DLL', Cannot find or open a required DBG file.
'testbase.exe': Loaded 'C:\WINNT\system32\KERNEL32.DLL', Cannot find or open a required DBG file
I noticed that SetFileShortName() needs win XP and I'm running on win 2k, so how can I rename a file in win 2k?
[Edited by - Tertsi on November 25, 2004 5:02:44 PM]
This topic is closed to new replies.
Advertisement
Popular Topics
Advertisement