Informatics Consulting > Software > NameDate

NameDate: Rename files with a date and timestamp
Version 7.11



What is NameDate?

NameDate is a 32-bit command line utility for Windows XP/7/8/10. NameDate will change the name of a given file to include the date. For example, a file name somefile.ext will be renamed to somefile 31-Oct-2016.ext when namedate somefile.ext is run.

NameDate offers a whole range of options to configure how the resulting file name should be formatted, define where the file should be located (you can move the files while renaming them), add a counter or several other features.

NameDate is free software and comes with full source code. No purchase necessary, but donations are welcome!

Version Information

New in version 7.11 (11. Feb 2019)

  • No functional changes. Recompiled with gcc 8.1.0 and replaced some system calls (sprintf) with the buffer-safe versions (snprintf) to eliminate compiler warnings.

New in version 7.10 (31. Oct 2017)

  • Added the handling for square braces for -Z and -ZZ formats. Enclosing part of the string in [braces] will make that part of the text literal, meaning that no substitution will take place. For example, -ZZ:"Sample-Ymd" would be interpreted as "(Seconds)(Weekday)(Month)(AM/PM)le-(Year)(Month)(Day)" while "[Sample-]Ymd" would be interpreted as "Sample-(Year)(Month)(Day)".

New in version 7.00 (14. May 2017)

  • Added the -ME / --Exif option to use the original date from the Exif data (if present). If no Exif data is found in the file, the modification date (-M) is used.
  • Completely re-wrote the command line processor. NameDate now supports short (single dash, 1-2 letter) commands and long (double dash, human-readable) commands.
  • NameDate can now read options from a text file with the @filename command line parameter. (See the README.TXT file for examples).
  • Added a new -SZ / --FolderFormat option. When used together with -S="dir" (or --TargetFolder="dir") or
    -SM="dir" (--MoveToTarget="dir"), the "dir" is processed like a filename using the -Z="fmt"
    (--FormatDate="fmt") command. (See the README.TXT file for complete information).
  • Added the -OW=[n] option to add/subtract [n] WEEKS from the date.
  • Added the -G option to use UTC instead of the local timezone on the PC.
  • Revised the code that calculates the -Ax=n and -Ox=n time/date offsets to eliminate some errors seen with timezones calculations.
  • Compiled with gcc 5.3.0 and tested on Windows 10 (64 bit).

For more details, please see the version information provided with the application.



Downloading NameDate

  1. Download and store it into a temporary directory, e.g. C:\TEMP
    DownloadNameDate Download Germany (Germany)
    DownloadNameDate Download Switzerland (Switzerland)
    Version 7.11
    11. February 2019
    87 KB Freeware
    US$ 0.00

  2. ZIP archives can be opened with the Windows Explorer, no additional software is required. Double-click on the to view the archive contents. These can be copied to any folder on your machine.



No Registration

NameDate is free software, distributed under GNU General Public License, Version 3.

NameDate Version 7.11 (Rename files with a date and timestamp)
Copyright © 1999, 2002-2007, 2009, 2014, 2015, 2016, 2017, 2019, James Greene

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see

If you would like to make a donation to the author as a token of your appreciation for this fine piece of free software, please contact

Screen Shots


Screen Shots


For more information about the full range of features, Download NameDate and try it out. If you like what you see, please ! Thank you!



Documentation / Using NameDate

Usage: NAMEDATE [switches] filename.ext

where switches may be

Name Formatting switches
-Z="str" --FormatDate="str" Specify the date/time format
-ZZ="str"--NameFormat="str" Specify the filename format
-E="str" --Region="str" Set the region/language
-EE="str"--RegionASCII="str" Set the region/language (ASCII)
-U --ConvertSpaces Convert spaces to underscores
-L --LastDot Use the LAST dot for the extension
Date/Time switches
-M --ModifyTime Use the file modification time
-ME --Exif
-G --UTC Use UTC instead of the local timezone
-OD=n --OffsetDays=n Adjust the date by n days
-OW=n --OffsetWeeks=n Adjust the date by n weeks
-OM=n --OffsetMonths=n Adjust the date by n months
-OY=n --OffsetYears=n Adjust the date by n years
-AH=n --AdjustHours=n Adjust the time by n hours
-AM=n --AdjustMinutes=n Adjust the time by n minutes
-AS=n --AdjustSeconds=n Adjust the time by n seconds
General program switches
-@="str" --ConfigFile="str" Read configuration options from a file
-B=n --BufferSize=n Maximum files per folder
-BD --AutoBuffer (maintained for backward compatibility)
-C --CopyFiles Copy (instead of renaming) files
-D --RenameFolders Rename folders as well as files
-H --HiddenFiles Include hidden and system files
-K --OverwriteFiles Replace (overwrite) existing files
-KK --ReplaceFolders Replace (overwrite) files and folders
-P --Simulate Simulate (doesn't rename the files)
-Q --Quiet Quiet mode
-SM="str"--MoveToTarget="str"Move the files to the target folder
-SZ --FolderFormat Specifies that the folder name is dynamic
-S="str" --TargetFolder="str"Specify the target folder
-Y --Yes Answer YES to all questions
-? --Help Display this help text
-V --Version Display the version of NameDate
-- -- Stop processing command line options
Legacy switches
-F --PrefixDate Put the date before the original filename
-N --DateDMY Use the DD-MM-YYYY date format (L)
-R --DateYMD Use the YYYY-MM-DD date format (L)
-T --AppendTime Add the time to the filename (L)
-X --DateAsExt Add the date as a file extension (L)
-8 --DOSName Use DOS (8.3) filename

and where filename.ext

is the name of an existing file. The filename.ext may contain a drive letter, a directory name and wildcards, so it's possible to rename all of the files in a given directory.

"format" characters used by the -Z (--FormatDate) and -ZZ (--NameFormat) options. These also apply when using the -SZ (--FolderFormat) option.

aAbbreviated weekday name
AFull weekday name
bAbbreviated month name
BFull month name
dDay of month as decimal number (01-31)
HHour in 24-hour format (00-23)
IHour in 12-hour format (01-12)
jDay of year as decimal number (001-366)
mMonth as decimal number (01-12)
MMinute as decimal number (00-59)
pCurrent locale's A.M./P.M. indicator for 12-hour clock
SSecond as decimal number (00-59)
UWeek of year as decimal number, with Sunday as first day of week (00-53)
wWeekday as decimal number (0-6; Sunday is 0)
WWeek of year as decimal number, with Monday as first day of week (00-53)
yYear without century, as decimal number (00-99)
YYear with century, as decimal number
zTime-zone name or abbreviation; no characters if time zone is unknown
ZSame as z
\Accept the following character as text instead of a formatting command
Additional Options when -ZZ (--NameFormat) is used:
FThe original filename (without the extension)
XThe original file extension (without the leading dot)
CA 4-digit counter
cA 2-digit counter

(New in Version 7.1x) If you enclose part of the filename in square brackets, those characters will be taken literally and not subject to replacement. E.g.
NAMEDATE -ZZ:"Sample_Y-m-d.X" somefile.txt
would result in something like 39Mon10PMle_2017-10-30.txt because the S, a, m and p of Sample would be intepreted as (S) seconds, (a) weekday, (m) month and (p) AM/PM. Enclosing the first part of the name in square brackets prevents NameDate from interpreting these characters, as shown below:
NAMEDATE -ZZ:"[Sample_]Y-m-d.X" somefile.txt
will rename somefile.txt to Sample_2017-10-30.txt.

"language" options used by the -E (--Region) and -EE (--RegionASCII) options

-E (--Region) specifies the language to use when using -Z (--FormatDate) or -ZZ (--NameFormat) with the a, A, b, and B keys. -E (--Region) specifies that the conversion will use ANSI characters (Windows character set), while -EE (--RegionASCII) specifies that the conversion should use ASCII (DOS) characters. See the examples below for more clarity. For a complete list of languages, please see MSDN Language Reference

Back to the Shareware Overview

This page was last updated on Tuesday, 12. February 2019.

Copyright © 2019 James Greene. All rights reserved.
Information in this document is subject to change without notice.
Please send any questions or comments about this page to