1

我在 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

4

3 回答 3

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%

如果您想将年、月和日分成单独的值,您可能还会发现我发布的这个类似的答案很有帮助。

于 2013-07-04T12:13:03.117 回答
2

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

@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
于 2013-07-04T13:31:02.017 回答
0

这很简单。只需输入echo %time%echo %date%,它会告诉你。希望能帮助到你!

于 2016-01-10T13:57:56.443 回答