通常情况下我们需要获取当前系统的时间等信息
这里提供一种常见的获取当前系统 年 月 日 时分秒信息的脚本
需要注意的是:不同语言(国家)的日期格式可能是不一样的。在验证之建议先通过
date
time
命令来实际的查看当前系统所使用到的真实日期格式是什么,以方便正确的获取到所需要的信息
贴出代码
for /f "tokens=3" %%a in ('"reg query "HKEY_CURRENT_USER\Control Panel\International" /v LocaleName"') do (set LocaleName=%%a)
if %LocaleName% EQU en-US (
set Month=%date:~0,2%
set Day=%date:~3,2%
set Year=%date:~6,4%
)else (
rem !en-US date format
set Year=%date:~0,4%
set Month=%date:~5,2%
set Day=%date:~8,2%
)
set Hour=%time:~0,2%
set Minute=%time:~3,2%
set Second=%time:~6,2%
rem mCurrentLogFolder 2017_04_10_ 9_04_03
rem mCurrentLogFolder 2017_04_10_9_04_03
if %Hour% LSS 10 (
echo init.bat:getYMH "Current Hour less than 10"
set Hour=%time:~1,1%
)else (
echo init.bat:getYMH "Current Hour more than 10"
set Hour=%time:~0,2%
)
echo init.bat:getYMH C:\%Year%_%Month%_%Day%
if exist "C:\%Year%_%Month%_%Day%" (
echo init.bat:getYMH Folder: C:\%Year%_%Month%_%Day% aleardy exist
rem set LogFolder=%InitCurrentDir%\..\out\%Year%_%Month%_%Day%
set LogFolder=C:\%Year%_%Month%_%Day%
)else (
mkdir C:\%Year%_%Month%_%Day%
if %errorlevel%==0 (
echo init.bat:getYMH CrateFolder C:\%Year%_%Month%_%Day% Success..
set LogFolder=C:\%Year%_%Month%_%Day%
)else (
echo init.bat:getYMH CrateFolder C:\%Year%_%Month%_%Day% Failed..
)
)