Windows批处理脚本将文件另存为日期/时间

时间:2013-07-04 10:43:00

标签: windows batch-file

我在Windows批处理脚本上使用此代码:

FOR /F "TOKENS=1* DELIMS= " %%A IN ('DATE/T') DO SET CDATE=%%B
FOR /F "TOKENS=1,2 eol=/ DELIMS=/ " %%A IN ('DATE/T') DO SET mm=%%B
FOR /F "TOKENS=1,2 DELIMS=/ eol=/" %%A IN ('echo %CDATE%') DO SET dd=%%B
FOR /F "TOKENS=2,3 DELIMS=/ " %%A IN ('echo %CDATE%') DO SET yyyy=%%B
SET date=%dd%%mm%%yyyy%
echo New folder name %date%

但文件夹名称只是07on

我需要能够将文件另存为dd-mm-yy h:m:s

3 个答案:

答案 0 :(得分:6)

我真的不确定你要完成什么,但你可能想看看这样的事情:

今天运行(从命令提示符下)

C:\>date
The current date is: Thu 07/04/2013
Enter the new date: (mm-dd-yy)    

C:\>SET Today=%Date:~10,4%-%Date:~4,2%-%Date:~7,2%

C:\>ECHO %Today%

可生产

2013-07-04

它的工作原理如下:

SET Today=%Date:~10,4%-%Date:~4,2%-%Date:~7,2%
                  ^ ^ ^       ^          ^
                  | | |       |          |
               Year | Dash  Month       Day
                    |
                Number of chars

您可以采用相同的方式获取时间值,将%Date%替换为%Time%并调整偏移量,以获得您想要的格式。

如果您想将年,月和日分成不同的值,您可能还会发现this similar answer I posted有用。

答案 1 :(得分:2)

这是一种获取日期和时间的强大方法,而不是依赖于PC区域设置。需要XP专业版及更高版本。

@echo off
for /f "delims=" %%a in ('wmic OS Get localdatetime  ^| find "."') do set dt=%%a
set datestamp=%dt:~0,8%
set timestamp=%dt:~8,6%
set YYYY=%dt:~0,4%
set MM=%dt:~4,2%
set DD=%dt:~6,2%
set HH=%dt:~8,2%
set Min=%dt:~10,2%
set Sec=%dt:~12,2%

set stamp=%YYYY%-%MM%-%DD%_%HH%-%Min%-%Sec%
echo stamp: "%stamp%"
echo datestamp: "%datestamp%"
echo timestamp: "%timestamp%"

pause

答案 2 :(得分:0)

很容易。只需输入echo %time%echo %date%即可告诉您。希望它有所帮助!