Batch file 如何在批处理文件中设置日期格式

Batch file 如何在批处理文件中设置日期格式,batch-file,Batch File,这里的mydate是20180416。如何在此处以yymmd格式获取日期?对于特定的区域设置相关方法,您只需添加一行,删除前两个字符: @Echo关闭 对于('Date/T')中的/F“代币=2-4个Delims=/”%%A,请设置“mydate=%%C%%A%%B” 设置“mydate=%mydate:~2%” 回显[%mydate%] 超时-1 尽管对于这种格式,您可能会做得更简单: @Echo关闭 Set mydate=“%DATE:~-2%%日期:~-10,2%%日期:~-7,2%”

这里的
mydate
20180416
。如何在此处以
yymmd
格式获取日期?

对于特定的区域设置相关方法,您只需添加一行,删除前两个字符:

@Echo关闭
对于('Date/T')中的/F“代币=2-4个Delims=/”%%A,请设置“mydate=%%C%%A%%B”
设置“mydate=%mydate:~2%”
回显[%mydate%]
超时-1
尽管对于这种格式,您可能会做得更简单:

@Echo关闭
Set mydate=“%DATE:~-2%%日期:~-10,2%%日期:~-7,2%”
回显[%mydate%]
超时-1

或者,对于独立于区域设置的方法

您可以使用
RoboCopy

@Echo关闭
对于('RoboCopy/NJH/L“\\\|”Null'中的/F“Tokens=1-3 Delims=/”%%A
)设置“mydate=%%A%%B%%C”和转到:中断
:休息
设置“mydate=%mydate:~2%”
回显[%mydate%]
超时-1
WMIC

@Echo关闭
对于('WMIC OS Get LocalDateTime'中的/F“EOL=L”%%A
)设置“mydate=%%~nA”&转到:中断
:休息
设置“mydate=%mydate:~2,6%”
回显[%mydate%]
超时-1
MakeCab

@Echo关闭
设置“df=%TEMP%\~foo.ddf”&设置“tf=%TEMP%\~%RANDOM%”
设置/A“一月=1,二月=2,三月=3,四月=4,五月=5,六月=6,七月=7,八月=8,九月=9,十月=10,十一月=11,十二月=12”
(Echo.Set-InfHeader=“&Echo.Set-InfSectionOrder=“&Echo.Set-InfFooter=“%%2”
对于(11 4)中的/L%%A,执行回显。设置InfFooter%%A=“”
Echo.Set Cabinet=“OFF”&Echo.Set Compress=“OFF”&Echo.Set DoNotCopyFiles=“ON”
Echo.Set RptFileName=“NUL”)>%df%
MakeCab/D InfFileName=“%tf%”/F“%df%”Nul
对于/F“UseBackQ令牌=2-3,5”%%A In(“%tf%”)设置/A“mm=%%A,dd=10%%B,yyyy=%%C”
删除“%tf%”%df%>Nul 2>&1并设置“mm=10%mm%”
设置“mydate=%yyyy:~-2%%mm:~-2%%dd:~2%”
回显[%mydate%]
超时-1
甚至可以使用
PowerShell

@Echo关闭
对于('PowerShell'(获取日期)。ToString('yyMMdd')”)中的/F%%A,请设置“mydate=%%A”
回显[%mydate%]
超时-1

您最好使用一个。如果要保留当前方法,只需
设置mydate=%mydate:~2%
以剪掉前两个字符。您已经了解了如何执行子字符串并获得独立于本地化的日期
For /f "tokens=2-4 delims=/ " %%a in ('date /t') do (set mydate=%%c%%a%%b)