Creating a file name as a timestamp in a batch job
CP source.log %DATE:~-4%-%DATE:~4,2%-%DATE:~7,2%.log
But it's locale dependent. I'm not sure if %DATE%
is localized, or depends on the format specified for the short date in Windows.
Here is a locale-independent way to extract the current date from this answer, but it depends on WMIC
and FOR /F
:
FOR /F %%A IN ('WMIC OS GET LocalDateTime ^| FINDSTR \.') DO @SET B=%%A
CP source.log %B:~0,4%-%B:~4,2%-%B:~6,2%.log
Append TimeStamp to a File Name
You can use DateTime.ToString Method (String)
DateTime.Now.ToString("yyyyMMddHHmmssfff")
or string.Format
string.Format("{0:yyyy-MM-dd_HH-mm-ss-fff}", DateTime.Now)
;
or Interpolated Strings
$"{DateTime.Now:yyyy-MM-dd_HH-mm-ss-fff}"
There are following custom format specifiers y (year), M (month), d
(day), h (hour 12), H (hour 24), m (minute), s (second), f (second
fraction), F (second fraction, trailing zeroes are trimmed), t (P.M or
A.M) and z (time zone).
With Extension Method
Usage:
string result = "myfile.txt".AppendTimeStamp();
//myfile20130604234625642.txt
Extension method
public static class MyExtensions
{
public static string AppendTimeStamp(this string fileName)
{
return string.Concat(
Path.GetFileNameWithoutExtension(fileName),
DateTime.Now.ToString("yyyyMMddHHmmssfff"),
Path.GetExtension(fileName)
);
}
}
How to append a timestamp to a file name?
here is the way we ended up doing it:
SET today=%DATE:~10,4%%DATE:~4,2%%DATE:~7,2%%TIME:~0,2%%TIME:~3,2%%TIME:~6,2%%TIME:~9,2%
SET today=%today: =0%
REM the second SET today was required because there was some weird execution with the
REM timestamp happening at 8:00 am. something wrong with the formatting so the files were
REM never getting timestamped at that time, but by adding that line the issue was resolved.
copy /y N:\test1\file1.csv N:\archive\file1_%today%.csv
File = open() using date in file name error out, Python
If you're doing Windows, Windows doesn't allow files with colons (:). Try removing your colon from here:
str(today.strftime("%y%b%d_%H:%M:%S"))
and see what happens
Current timestamp as filename in Java
No need to get too complicated, try this one liner:
String fileName = new SimpleDateFormat("yyyyMMddHHmm'.txt'").format(new Date());
Timestamp on file name using PowerShell
You can insert arbitrary PowerShell script code in a double-quoted string by using a subexpression, for example, $() like so:
"C:\temp\mybackup $(get-date -f yyyy-MM-dd).zip"
And if you are getting the path from somewhere else - already as a string:
$dirName = [io.path]::GetDirectoryName($path)
$filename = [io.path]::GetFileNameWithoutExtension($path)
$ext = [io.path]::GetExtension($path)
$newPath = "$dirName\$filename $(get-date -f yyyy-MM-dd)$ext"
And if the path happens to be coming from the output of Get-ChildItem:
Get-ChildItem *.zip | Foreach {
"$($_.DirectoryName)\$($_.BaseName) $(get-date -f yyyy-MM-dd)$($_.extension)"}
Filename timestamp in Windows CMD batch script getting truncated
Thanks to an answer to Stack Overflow quesion Creating a file name as a timestamp in a batch job, I found that it was a space terminating the filename.
Related Topics
Filling in the Area Under a Line Graph in Ggplot2: Geom_Area()
R Shiny: Multiple Use in UI of Same Renderui in Server
Empty Output When Reading a CSV File into Rstudio Using Sparkr
Filtering a Dataframe Showing Only Duplicates
R/Ggplot Cumulative Sum in Histogram
Ggplot2: Have Common Facet Bar in Outer Facet Panel in 3-Way Plot
In R, How to Split Timestamp Interval Data into Regular Slots
Preventing Incosistent Spacing/Bar Widths in Geom_Bar with Many Bars
Dealing with Nan's in Matlab Functions
R: "Make" Not Found When Installing a R-Package from Local Tar.Gz
Sum Columns by Group (Row Names) in a Matrix
Ggplot2: How to Rotate a Graph in a Specific Angle
Cannot Install Stringi Since Xcode Command Line Tools Update
How to Convert Class of Several Variables at Once
Rolling by Group in Data.Table R
R - Calculate Test Mse Given a Trained Model from a Training Set and a Test Set