不带空格的批处理脚本时间戳变量 YYYY-MM-DD-HH-MM-SS
Batch Script Timestamp Variable without spaces YYYY-MM-DD-HH-MM-SS
我像这样在批处理脚本中创建了一个时间戳变量...
set TIMESTAMP=%DATE:~10,4%-%DATE:~4,2%-%DATE:~7,2%-%TIME:~0,2%-%TIME:~3,2%-%TIME:~6,2%
当 HH 只是一个数字时,我得到了一个问题...
YYYY-MM-DD- 2-MM-SS
而不是
YYYY-MM-DD-02-MM-SS
如何始终生成不带空格的时间戳?
set "timestamp=%timestamp: =0%"
用零替换空格。
请参阅文档提示中的 set /?
。
不要使用 locale/user 设置依赖日期时间变量但 wmic:
@Echo off
For /f "delims=." %%A in (
'wmic os get LocalDateTime^|findstr ^^20'
) Do Set DT=%%A
Set "TIMESTAMP=%DT:~0,4%-%DT:~4,2%-%DT:~6,2%-%DT:~8,2%-%DT:~10,2%-%DT:~12,2%"
Set TimeStamp
示例输出:
> SO_45465890.cmd
TIMESTAMP=2017-08-02-18-42-07
或者使用 PowerShell 并让它进行格式化:
@Echo off
For /f %%A in ('powershell -NoP -C "get-date -f \"yyyy-MM-dd-HH-mm-ss\""') Do Set TimeStamp=%%A
Set TimeStamp
我像这样在批处理脚本中创建了一个时间戳变量...
set TIMESTAMP=%DATE:~10,4%-%DATE:~4,2%-%DATE:~7,2%-%TIME:~0,2%-%TIME:~3,2%-%TIME:~6,2%
当 HH 只是一个数字时,我得到了一个问题...
YYYY-MM-DD- 2-MM-SS
而不是
YYYY-MM-DD-02-MM-SS
如何始终生成不带空格的时间戳?
set "timestamp=%timestamp: =0%"
用零替换空格。
请参阅文档提示中的 set /?
。
不要使用 locale/user 设置依赖日期时间变量但 wmic:
@Echo off
For /f "delims=." %%A in (
'wmic os get LocalDateTime^|findstr ^^20'
) Do Set DT=%%A
Set "TIMESTAMP=%DT:~0,4%-%DT:~4,2%-%DT:~6,2%-%DT:~8,2%-%DT:~10,2%-%DT:~12,2%"
Set TimeStamp
示例输出:
> SO_45465890.cmd
TIMESTAMP=2017-08-02-18-42-07
或者使用 PowerShell 并让它进行格式化:
@Echo off
For /f %%A in ('powershell -NoP -C "get-date -f \"yyyy-MM-dd-HH-mm-ss\""') Do Set TimeStamp=%%A
Set TimeStamp