Merge branch 'fixes' into main/rendor-staging
[ryzomcore.git] / tool / ren_date / ren_date.cpp
blobc0d957247ddfaa2735adf4d9269e2eab95bab2f9
1 // NeL - MMORPG Framework <http://dev.ryzom.com/projects/nel/>
2 // Copyright (C) 2010 Winch Gate Property Limited
3 //
4 // This program is free software: you can redistribute it and/or modify
5 // it under the terms of the GNU Affero General Public License as
6 // published by the Free Software Foundation, either version 3 of the
7 // License, or (at your option) any later version.
8 //
9 // This program is distributed in the hope that it will be useful,
10 // but WITHOUT ANY WARRANTY; without even the implied warranty of
11 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 // GNU Affero General Public License for more details.
14 // You should have received a copy of the GNU Affero General Public License
15 // along with this program. If not, see <http://www.gnu.org/licenses/>.
17 // mkdir_date.cpp : Defines the entry point for the console application.
20 #include <time.h>
21 #include <stdio.h>
22 #include <direct.h>
23 #include <string.h>
25 int main(int argc, char* argv[])
27 // Help
28 bool keepExt = false;
29 bool help = ( (argc<3) || (argc>4) );
30 if (argc == 4)
32 if (strcmp (argv[3], "-keepExt") == 0)
33 keepExt = true;
34 else
35 help = true;
38 if (help)
40 printf ("ren_date [old_name] [new_base_name] [-keepExt]");
41 return 0;
44 // Get the time
45 time_t aclock;
46 time(&aclock);
48 // Get time information
49 const struct tm *timeptr=localtime(&aclock);
51 // Extension
52 char ext[512];
54 // Empty string
55 strcpy (ext, "");
57 // Keep the extension
58 if (keepExt)
60 // Get the extension
61 char *point = strrchr (argv[2], '.');
62 if (point)
64 strcpy (ext, point);
65 *point = 0;
69 // Format the string
70 char date[512];
71 strftime( date, sizeof(date), "%Y %m %d %Hh%M", timeptr);
73 // Name of the directory
74 char directory[512];
75 sprintf (directory, "%s %s%s", argv[2], date, ext);
77 // Create a directory
78 return rename ( argv[1], directory )==0;