Command line 命令提示符/Bat文件-创建名为today';日期

Command line 命令提示符/Bat文件-创建名为today';日期,command-line,batch-file,Command Line,Batch File,我使用以下代码创建一个名为todays date的新文件夹: for /f "tokens=1* delims=" %%a in ('date /T') do set datestr=%%a mkdir c:\%date:/=% 现在格式如下: 20130619 如何将格式更改为?: 2013_06_19 谢谢请执行以下操作: for /F "tokens=2-4 delims=/ " %%i in ('date /t') do set yyyymmdd1="%%k"_"%%i"_"%%j

我使用以下代码创建一个名为todays date的新文件夹:

for /f "tokens=1* delims=" %%a in ('date /T') do set datestr=%%a
mkdir c:\%date:/=%
现在格式如下:

20130619
如何将格式更改为?:

2013_06_19
谢谢

请执行以下操作:

for /F "tokens=2-4 delims=/ " %%i in ('date /t') do set yyyymmdd1="%%k"_"%%i"_"%%j"
mkdir %yyyymmdd1%
或者干脆

SET Today=%Date:~10,4%_%Date:~7,2%_%Date:~4,2%

echo %today%
输出

2013_06_19
Press any key to continue . . .
然后,您可以轻松地使用该变量创建目录,例如:

mkdir %today%

编辑:YYYY\u MM\u DD格式

%date%取决于您的计算机设置和区域设置。这里有一个可靠的方法来获取日期和时间戳。赢得XP专业版及以上版本

for /f "tokens=1-3 delims=/" %%a in ("%date%") do md "%%a_%%b_%%c"
如果您需要在未知机器上使用批处理文件,那么这是值得使用的

:: time and date stamp YYYYMMDD, HHMMSS and YYYY-MM-DD_HH-MM-SS
@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

摘自上一个可能对您有所帮助的答案,-请看我如何操作“%%i”或%%k或%%j以及它们之间的uu谢谢,但您的答案只显示文件夹名称中的月份和日期,而不是年份…测试我,它显示了一切可能您没有复制粘贴整行:)我的答案与您接受的答案相同。它与您当前的代码完全相同,并且是原始代码,它将“今天”作为文件夹名重新运行是的,这不是您想要的吗?您可以指定驱动器号或路径的其他部分。此解决方案不包含任何不依赖于区域设置的%date%的用户!