Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
不带零的Windows批处理文件日期格式_Windows_Batch File_Cmd - Fatal编程技术网

不带零的Windows批处理文件日期格式

不带零的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

如果月份和日期低于两位数,我希望我的日期格式不会显示为这样:

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=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文件脚本中使用,请记住将百分比字符加倍