Go Premium for a chance to win a PS4. Enter to Win

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 432
  • Last Modified:

date format

I am using a post processing command to copy one file to another file with a date stamp at the end of the file name.  I found an example of adding the date stamp,  but it adds the date stamp in the wrong format.  Currently, the date stamp is in the format:

YYYYDDMM

But, I need the date format to be in:

YYYYMMDD

Here is the command I'm using:

copy c:\Users\UserName\Desktop\TemplateFile.txt c:\Users\UserName\Desktop\FileName_%date:~-4,4%%date:~-7,2%%date:~-10,2%.txt

I just need to switch the month and day in the date stamp.

Thanks for any help.
Regards.
0
-Dman100-
Asked:
-Dman100-
  • 3
  • 3
  • 2
  • +2
2 Solutions
 
Steve KnightIT ConsultancyCommented:
You can just amend the %date:~-4,4%%date:~-7,2%%date:~-10,2% bits at a simple level:

%date:~-4,4% "YYYY"
%date:~-7,2% "DD"
%date:~-10,2% "MM"

%date:~-4,4%%date:~-10,2%%date:~-7,2%

but this highlights a general issue here in that it relies on the user who runs the command's date format, e.g. dd/mm/yyyy mm/dd/yyyy dd-mm-yyyy yyyy-mm-dd etc. and therefore is easily wrong.

Look at my article here for betters ways to do it:
http://www.experts-exchange.com/OS/Microsoft_Operating_Systems/MS_DOS/A_1153-Using-dates-in-batch-files-scripts.html

You will see in my article above an entry "yyyymmdd.cmd" at one of the last comments right down the bottom which gives you a prebuilt script that will get you yyyymmdd regardless of the user's date format.

also be aware user is quite likely to have 1/ 3/2012 rather than 01/03/2012 so there won't be leading zeroes if you want them using just %date% either.

Steve
0
 
Ess KayEntrapenuerCommented:
0
 
Ess KayEntrapenuerCommented:
yyyymmdd

select convert(varchar, getdate(), 112)
0
Veeam Task Manager for Hyper-V

Task Manager for Hyper-V provides critical information that allows you to monitor Hyper-V performance by displaying real-time views of CPU and memory at the individual VM-level, so you can quickly identify which VMs are using host resources.

 
paultomasiCommented:
-Dman100-

You need:

copy "c:\Users\UserName\Desktop\TemplateFile.txt" "c:\Users\UserName\Desktop\FileName_%date:~-4,4%%date:~-10,2%%date:~-7,2%.txt"

Open in new window

0
 
-Dman100-Author Commented:
I tried the following, but it failed?

copy c:\Users\UserName\Desktop\Template.txt
c:\Users\UserName\Desktop\FileName_%date:~-4,4%%date:~-10,2%%date:~-7,2%
.txt

It looks like I have everything correct, but the command failed?
0
 
Turkey1974Commented:
This is the format you requested:

copy c:\Users\UserName\Desktop\TemplateFile.txt c:\Users\UserName\Desktop\FileName_%date:~-4,4%%date:~-10,2%%date:~-7,2%.txt
(just switch the -7 and -10)

As for why?  The negative number refers to the number of characters from right to left of the result of %date% to begin and the second number is how many characters you want to extract from %date% beginning at the chosen character to start with (the negative number).

Prove it, try the following at a command prompt: (use of echo will allow you to test at a command prompt)
echo %date%

This will return:
Mon 03/12/2012

Now try the following:
echo %date:~-4,4%  Result:  2012
echo %date:~-5,5%  Result:  /2012
echo %date:~-5,3%  Result:  /20
echo %date:~-10,5%  Result:  03/12
echo %date:~-10,6%%date:~-2,2%  Result:  03/12/12
echo %date:~-10,2%-%date:~-7,2%-%date:~-2,2%  Result:  03-12-12

Explore other combinations to produce the desired output.
0
 
Steve KnightIT ConsultancyCommented:
Can I ask why I got an "assisted" and half the marks when I gave you the answer?

Quite likely that you have spaces in the filename now as it will be 2012 312.txt or the like.  You will need either " " around the filename or use one of the techniques which works reliably as per my link.

Steve
0
 
paultomasiCommented:
dragon-it

>> "Can I ask why I got an "assisted" and half the marks when I gave you the answer?"

You gave a nice write-up along with a really useful link in http:#37710156 however, you didn't actually give the 'answer' he was seeking. I think he just wanted something he could copy & paste that worked straight off as provided in http:#37710240.
0
 
Steve KnightIT ConsultancyCommented:
Well short of actually putting the spoon in his mouth for him:

You can just amend the %date:~-4,4%%date:~-7,2%%date:~-10,2% bits at a simple level:

%date:~-4,4% "YYYY"
%date:~-7,2% "DD"
%date:~-10,2% "MM"

%date:~-4,4%%date:~-10,2%%date:~-7,2%

But then with no feedback from asker don't expect anything else.
0
 
paultomasiCommented:
Steve....
You know as well as I do 'the bigger the spoon, the wider the smile'!
:)
0

Featured Post

Get your Disaster Recovery as a Service basics

Disaster Recovery as a Service is one go-to solution that revolutionizes DR planning. Implementing DRaaS could be an efficient process, easily accessible to non-DR experts. Learn about monitoring, testing, executing failovers and failbacks to ensure a "healthy" DR environment.

  • 3
  • 3
  • 2
  • +2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now