不带零的Windows批处理文件日期格式
如果月份和日期低于两位数,我希望我的日期格式不会显示为这样: 1.18.04.09 但就其本身而言: 1.18.4.9 我的日期变量:不带零的Windows批处理文件日期格式,windows,batch-file,cmd,Windows,Batch File,Cmd,如果月份和日期低于两位数,我希望我的日期格式不会显示为这样: 1.18.04.09 但就其本身而言: 1.18.4.9 我的日期变量: @set version2=%11。%DATE:~8,2%。%DATE:~3,2%。%DATE:~0,2% 该如何更改命令?不应显示日和月之前的零。您可以使用算术/A使设置命令返回不带零的数字: @set version2= %11 @set /a v=1%DATE:~8,2%-100 @set version2=%version2%.%v% @set /a v
@set version2=%11。%DATE:~8,2%。%DATE:~3,2%。%DATE:~0,2%
该如何更改命令?不应显示日和月之前的零。您可以使用算术
/A
使设置
命令返回不带零的数字:
@set version2= %11
@set /a v=1%DATE:~8,2%-100
@set version2=%version2%.%v%
@set /a v=1%DATE:~3,2%-100
@set version2=%version2%.%v%
@set /a v=1%DATE:~0,2%-100
@set version2=%version2%.%v%
使用1xx-100是为了避免八进制数字错误,如08和09。您可以使用算术
/A
使设置命令返回不带零的数字:
@set version2= %11
@set /a v=1%DATE:~8,2%-100
@set version2=%version2%.%v%
@set /a v=1%DATE:~3,2%-100
@set version2=%version2%.%v%
@set /a v=1%DATE:~0,2%-100
@set version2=%version2%.%v%
使用1xx-100是为了避免八进制数字错误,如08和09。我可以提供一种不依赖于区域设置日期格式的解决方案吗
FOR /F %%A IN ('WMIC Path Win32_LocalTime Get Day^,Month^,Year /value ^|find "="') do set "_%%A"
set version2=%11.%_Year:~2,2%.%_Month%.%_Day%
echo %version2%
我可以提供一个不依赖于区域设置日期格式的解决方案吗
FOR /F %%A IN ('WMIC Path Win32_LocalTime Get Day^,Month^,Year /value ^|find "="') do set "_%%A"
set version2=%11.%_Year:~2,2%.%_Month%.%_Day%
echo %version2%
这也不取决于区域日期格式设置
FOR /F %a IN ('powershell -NoProfile -Command "'{0:M-d-yyyy}' -f (Get-Date).AddDays(1)"') DO SET "version2=%a"
如果在.bat文件脚本中使用,请记住将百分比字符加倍。这也不取决于区域日期格式设置
FOR /F %a IN ('powershell -NoProfile -Command "'{0:M-d-yyyy}' -f (Get-Date).AddDays(1)"') DO SET "version2=%a"
如果在.bat文件脚本中使用,请记住将百分比字符加倍