贴出我的代码,可能存在通用性问题。希望大家测试并指出其中问题:- @echo off&setlocal enabledelayedexpansion
- for /f %%a in ('wmic path win32_operatingsystem get localdatetime') do set "CurrentDate=%%a"
- rem 用wmic获取日期标准格式(yyyymmdd),代码、思路来自于论坛巡查BATCHER。
- rem 标准化获取当前日期:http://www.cn-dos.net/forum/viewthread.php?tid=41857&fpage=1&highlight=%2Bhat
- set "CurrentDate=%CurrentDate:~0,8%"
- set "Format=yyyymmdd"
- for %%a in (Y M D) do set "%%a=defined"
- for %%a in (4 2 2) do call :LOOP %%a
- set /p DateFormat=Input the format:
- :LP
- set "Char=%DateFormat:~,1%"
- if defined !Char! (
- set /a !Char! += 1
- <nul call call set /p=%%%%!Char!%%!Char!%%%%%%
- ) else (
- <nul set /p=!DateFormat:~,1!
- )
- set "DateFormat=!DateFormat:~1!"
- if defined DateFormat goto :LP
- pause>nul &exit /b
-
- :LOOP
- for /l %%a in (1 1 %1) do (
- set "!Format:~,1!%%a=!CurrentDate:~,1!"
- for %%i in (Format CurrentDate) do set "%%i=!%%i:~1!"
- )
复制代码
[ 本帖最后由 pusofalse 于 2008-10-22 17:43 编辑 ] |