bat 生成以当前时间的文件名

  如何在bat中产生以当前系统时间为基准的文件夹。

 

脚本如下。欢迎拍砖。

代码
:GenerateFileNameBasedOnDate
ECHO .  | date   > temp1
FOR   / " eol=T tokens=5 delims=()  "  %%i in  ( temp1 )   do   set  date_format = %%i
FOR   / " eol=E tokens=5,6,7,8 delims=/-  "  %%a in  ( temp1 )   do   (
    
REM  Check whether reguler or not.
     SET  NORMAL = 0     
    
ECHO  %%d | FINDSTR  / " [0-9] "
    
IF  % ERRORLEVEL % EQU  0   SET  NORMAL = 1
    
    
IF   / I %date_format% EQU mm-dd-yy  (  
        
IF  !NORMAL! == 0   set  month = %%a&  set  day = %%b&  set  year = %%c&  set  week = %%d
        
IF  !NORMAL! == 1   set  month = %%b&  set  day = %%c&  set  year = %%d&  set  week = %%a       
    
)
    
IF   / I %date_format% EQU dd-mm-yy  (  
        
IF  !NORMAL! == 0   set  day = %%a&  set  month = %%b&  set  year = %%c&  set  week = %%d
        
IF  !NORMAL! == 1   set  day = %%b&  set  month = %%c&  set  year = %%d&  set  week = %%a 
    
)
    
IF   / I %date_format% EQU yy-mm-dd  (  
        
IF  !NORMAL! == 0   set  year = %%a&  set  month = %%b&  set  day = %%c&  set  week = %%d
        
IF  !NORMAL! == 1   set  year = %%b&  set  month = %%c&  set  day = %%d&  set  week = %%a
    
)
)
ECHO .  | time   > temp2
FOR   / " eol=E tokens=5-8 delims=:.  "  %%A in  ( temp2 )   do   (  
    
set  hour = %%A
    
set  minute = %%B
    
set  second = %%C
    
set  hundredth = %%D 
)
REM  SET current_date=%year%%month%%day%
REM
 SET current_time=%hour%%minute%%second%%hundredth%
SET   %1 = %year%%month%%day%%hour%%minute%%second%
IF  %hour% LEQ  9   SET   %1 = %year%%month%%day %0 %hour%%minute%%second%
IF   EXIST  temp1  DEL   / Q temp1
IF   EXIST  temp2  DEL   / Q temp2
GOTO  EOF

 

 

你可能感兴趣的:(当前时间)