Still celebrating National IT Professionals Day with 3 months of free Premium Membership. Use Code ITDAY17

x
?
Solved

How can I rename a text file with the YYYYMMDDNNSSZZ?

Posted on 2014-11-06
13
Medium Priority
?
151 Views
Last Modified: 2014-11-24
I would like to rename a file at this path, C:\Data\original.file.txt with a time stamp following the YYYYMMDDNNSSZZ.original.file.txt
0
Comment
Question by:100questions
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 5
  • 4
  • 2
  • +2
13 Comments
 
LVL 15

Expert Comment

by:ZabagaR
ID: 40427037
What does NN SS ZZ stand for? Aside from Year Month Day I'm guessing you want hour, minute, second...but I don't get the NN SS ZZ annotation.
0
 

Author Comment

by:100questions
ID: 40427051
I believe the NNSS stands for Nano Seconds.  Not sure about the ZZ.   We can leave it at nanoseconds.
0
 
LVL 15

Expert Comment

by:ZabagaR
ID: 40427054
Can you modify my code below? This does YYYYMMDDHHMMSS

@echo on
for /F "tokens=1-3 delims=:." %%a in ("%time%") do (
   set timeHour=%%a
   set timeMinute=%%b
   set timeSeconds=%%c
)
set year=%date:~10,4%
set month=%date:~4,2%
set day=%date:~7,2%
ren c:\data\myfile.txt %year%%month%%day%%timeHour%%timeMinute%%timeSeconds%.myfile.txt
0
Introducing the WatchGuard 420 Access Point

WatchGuard's newest access point includes an 802.11ac Wave 2 chipset, providing the fastest speeds for VoIP, video and music streaming, and large data file transfers. Additionally, enjoy the benefits of strong security as the 3rd radio delivers dedicated WIPS protection!

 
LVL 41

Expert Comment

by:footech
ID: 40427117
NN isn't anything.
zz would be time offset from UTC.
Case does matter!  Here's a link with all the specifiers.
http://msdn.microsoft.com/en-us/library/8kb3ddd4(v=vs.110).aspx
I'm assuming you want something like this (in PowerShell).
(Get-Date).ToString("yyyyddMMHHmmsszz")
But if not, reference the above link to get exactly what you want.  Next, I'm not clear on whether you want the time to come from the current time, or maybe the timestamp on a file like its last modified time or creation time.
0
 

Author Comment

by:100questions
ID: 40427161
The time would have to come from the current time.
0
 
LVL 43

Expert Comment

by:Steve Knight
ID: 40427282
If you want batch to rename then see this article of mine on the subject:
http://www.experts-exchange.com/OS/Microsoft_Operating_Systems/MS_DOS/A_1153-Using-dates-in-batch-files-scripts.html 

e.g. yyyy-mm-dd-hh-mm.cmd there.  Can soon add seconds etc.

But you need to clarify what you actually want, i.e. an example filename.

Steve
0
 
LVL 57

Expert Comment

by:Bill Prew
ID: 40427545
Easy enough to rename a file with current time info, but you need to specify what the NNSSZZ really is.  I saw you mentioned "nanoseconds" but that isn't clear enough to know what you mean.

~bp
0
 
LVL 41

Expert Comment

by:footech
ID: 40427609
Here's a one line PS script to rename a file.  Remove the -confirm switch if you don't want that option.
Get-Item somefile.txt | % { $newname = "$((Get-Date).ToString("yyyyMMddHHmmsszz")).$($_.Name)";  Rename-Item $_ $newname -Confirm }

Open in new window

0
 

Author Comment

by:100questions
ID: 40428712
Thanks footech, how can I specify the path?
I also want the file to be renamed to a dateinfo_new.txt
Is this possible?
0
 
LVL 41

Accepted Solution

by:
footech earned 2000 total points
ID: 40428803
Just specify the full path to the file in the first part.
Get-Item c:\temp\somefile.txt

I'm not clear on what you're asking.  Maybe the following?
Get-Item c:\temp\somefile.txt | % { $newname = "$((Get-Date).ToString("yyyyMMddHHmmsszz"))_new$($_.extension)";  Rename-Item $_ $newname -Confirm }

Open in new window

0
 

Author Comment

by:100questions
ID: 40433527
Thanks footech.  What if I want to change the file name after it's been dated, as newfile.txt?
0
 
LVL 41

Expert Comment

by:footech
ID: 40433881
I don't understand what you're asking.  I've already shown what's needed for a couple renames.  If you want to name it something else, just make the substitution in the code.
0
 

Author Closing Comment

by:100questions
ID: 40462858
I believe this should work.
0

Featured Post

VIDEO: THE CONCERTO CLOUD FOR HEALTHCARE

Modern healthcare requires a modern cloud. View this brief video to understand how the Concerto Cloud for Healthcare can help your organization.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

A brief introduction to what I consider to be the best editor for PowerShell.
Windows 10 came with  a lot of built in applications, Some organisations leave them there, some will control them using GPO's. This Article is useful for those who do not want to have any applications in their image (example:me).
This course is ideal for IT System Administrators working with VMware vSphere and its associated products in their company infrastructure. This course teaches you how to install and maintain this virtualization technology to store data, prevent vuln…
Exchange organizations may use the Journaling Agent of the Transport Service to archive messages going through Exchange. However, if the Transport Service is integrated with some email content management application (such as an antispam), the admini…

722 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question