답변:
다음 배치 파일을 사용하십시오 (의 로컬 시간 출력을 구문 분석하는 올바른 방법 wmic
임).
@echo off
setlocal
rem use findstr to strip blank lines from wmic output
for /f "usebackq skip=1 tokens=1-6" %%g in (`wmic Path Win32_LocalTime Get Day^,Hour^,Minute^,Month^,Second^,Year ^| findstr /r /v "^$"`) do (
set _day=00%%g
set _hours=00%%h
set _minutes=00%%i
set _month=00%%j
set _seconds=00%%k
set _year=%%l
)
rem pad with leading zeros
set _month=%_month:~-2%
set _day=%_day:~-2%
set _hh=%_hours:~-2%
set _mm=%_minutes:~-2%
set _ss=%_seconds:~-2%
rem use YYYYmmDD_HHmmSS format for the timestamp
set _stamp=%_year%%_month%%_day%_%_hh%%_mm%%_ss%
ren R:\1 %_stamp%
endlocal
이것은 당신이 구체적으로하고 싶은 일을하는 짧은 방법입니다. 내 업무 라인에서 서비스 수준 계약은 왕이되어 얼마나 사소한 지에 관계없이 일반적으로 사용하는 처리 시간을 줄입니다.
@echo off
REM Get date and time in YYYYMMDDhhmmss format
for /f "tokens=2 delims==." %%a in ('wmic OS Get localdatetime /value') do set "dt=%%a"
rem put underscore in the middle of date and time stamp
ren R:\1 %dt:~0,8%_%dt:~8,6%
for /f "tokens=2 delims==" %%a in ('wmic OS Get localdatetime /value') do set "dt=%%a"