5 #include "Windows/FileFind.h"
6 #include "Windows/FileDir.h"
8 using namespace NWindows;
10 UString CreateArchiveName(const UString &srcName, bool fromPrev, bool keepName)
12 UString resultName = L"Archive";
16 if (NFile::NDirectory::GetOnlyDirPrefix(srcName, dirPrefix))
18 if (dirPrefix.Length() > 0)
19 if (dirPrefix[dirPrefix.Length() - 1] == '\\')
21 dirPrefix.Delete(dirPrefix.Length() - 1);
22 NFile::NFind::CFileInfoW fileInfo;
23 if (NFile::NFind::FindFile(dirPrefix, fileInfo))
24 resultName = fileInfo.Name;
30 NFile::NFind::CFileInfoW fileInfo;
31 if (!NFile::NFind::FindFile(srcName, fileInfo))
33 resultName = fileInfo.Name;
34 if (!fileInfo.IsDirectory() && !keepName)
36 int dotPos = resultName.ReverseFind('.');
39 UString archiveName2 = resultName.Left(dotPos);
40 if (archiveName2.ReverseFind('.') < 0)
41 resultName = archiveName2;