相关疑难解决方法(0)

如何在Windows命令行中以适当的格式获取当前日期时间以使用文件名?

更新:现在是2016年我将使用PowerShell,除非它有一个非常引人注目的向后兼容原因,特别是因为使用区域设置问题date.请参阅@ npocmaka的/sf/answers/1385946551/


什么是Windows命令行语句我可以使用以我可以放入文件名的格式获取当前日期时间?

我希望有一个.bat文件,它将目录压缩到一个存档中,并将当前日期和时间作为名称的一部分,例如,Code_2008-10-14_2257.zip.有没有简单的方法可以做到这一点,独立于机器的区域设置?

我真的不介意日期格式,理想情况下它是yyyy-mm-dd,但任何简单都可以.

到目前为止,我已经有了这个,在我的机器上给了我Tue_10_14_2008_230050_91:

rem Get the datetime in a format that can go in a filename.
set _my_datetime=%date%_%time%
set _my_datetime=%_my_datetime: =_%
set _my_datetime=%_my_datetime::=%
set _my_datetime=%_my_datetime:/=_%
set _my_datetime=%_my_datetime:.=_%

rem Now use the timestamp by in a new ZIP file name.
"d:\Program Files\7-Zip\7z.exe" a -r Code_%_my_datetime%.zip Code
Run Code Online (Sandbox Code Playgroud)

我可以忍受这个,但它看起来有点笨重.理想情况下,它更简洁,并具有前面提到的格式.

我正在使用Windows Server 2003和Windows XP Professional.我不想安装额外的实用程序来实现这一点(虽然我发现有一些可以做很好的日期格式化).

windows command-line datetime batch-file

514
推荐指数
21
解决办法
132万
查看次数

Windows CMD批处理脚本中的文件名时间戳

我有一个输出文件的批处理脚本,我试图确保每次执行脚本时,都不会覆盖现有文件,所以我试图在其上添加时间戳.

目前我有这个:

set  stamp=%DATE:/=-%_%TIME::=-%
Run Code Online (Sandbox Code Playgroud)

但如果时间是1-9 AM,它会给出类似的结果:

13-06-2012_ instead of a full 13-06-2012_12-39-37.28
Run Code Online (Sandbox Code Playgroud)

我怎样才能解决这个问题?

我正在使用Windows 7,并且echo %date% %time%命令行窗口中的输出是(我的'短日期'时钟格式设置为显示3个字母的月份):

03-Sep-12 9:06:21.54
Run Code Online (Sandbox Code Playgroud)

编辑:我现在一直使用以下时间戳,效果很好.

set timestamp=%DATE:/=-%_%TIME::=-%
set timestamp=%timestamp: =%
Run Code Online (Sandbox Code Playgroud)

它产生像时间戳:18-03-2013_13-37-43.26,通过更换/:%TIME%%DATE%,然后剥离空格.在我原来的问题中,空白是问题,真的.

windows cmd batch-file

22
推荐指数
4
解决办法
14万
查看次数

从批处理输出中添加时间戳到日志行

我有一个计划运行的简单批处理文件,基本上只是将远程网络共享备份到我的计算机.

@ECHO OFF
xcopy \\10.8.0.1\share\ E:\backup\ /c /s /r /d /y /i >> E:\backup\backup.log
Run Code Online (Sandbox Code Playgroud)

日志中的输出如下所示:

\\10.8.0.1\share\test.txt
1 File(s) copied
\\10.8.0.1\share\New Microsoft Word Document.docx
1 File(s) copied
Run Code Online (Sandbox Code Playgroud)

基本上我只想为每个日志条目添加日期和时间戳.我该怎么做呢?

windows datetime timestamp batch-file

4
推荐指数
2
解决办法
3万
查看次数

文件名中的MS-DOS时间戳

我在批处理文件中具有以下内容。

set timefmt=%TIME:~0,2%%TIME:~3,2%%TIME:~6,2%

dir *.* > logfile_%timefmt%.log
Run Code Online (Sandbox Code Playgroud)

这项工作在上午10点之后可以正常使用,但在事前失败,因为它为时间戳添加了一个空格而不是前导0。

在MS-DOS中是否可以使用前导0创建时间戳?我宁愿使用相当标准的命令,以便从Windows XP开始使用。

windows dos

1
推荐指数
1
解决办法
1万
查看次数

标签 统计

windows ×4

batch-file ×3

datetime ×2

cmd ×1

command-line ×1

dos ×1

timestamp ×1