【问题标题】:How do I create a folder name with a yyyymmddhhmmss-prefix?如何创建带有 yyyymmddhhmmss 前缀的文件夹名称?
【发布时间】:2015-08-12 19:38:00
【问题描述】:

我正在使用代码(来自 Windows batch: formatted date into variable )。

  1. 如何得到 Mon=08(2 位数字),而不是 Aug(3 阿尔法)?
  2. MKDIR 使用变量的语法是什么?使用前导 \ 我得到“文件名、目录名或卷标语法不正确。”没有我得到“访问被拒绝。”

     @echo off
     setlocal 
     for /f "skip=8 tokens=2,3,4,5,6,7,8 delims=: " %%D in ('robocopy /l * \ \  /ns /nc /ndl /nfl /np /njh /XF * /XD *') do (
     set "dow=%%D"
     set "month=%%E"
     set "day=%%F"
     set "HH=%%G"
     set "MM=%%H"
     set "SS=%%I"
     set "year=%%J"
     SET "DESTINATION=%%J%%E%%F%%G%%H%%I-EXTRACTION"
    )
    
     echo Day of the week: %dow%
     echo Day of the month : %day%
     echo Month : %month%
     echo hour : %HH%
     echo minutes : %MM%
     echo seconds : %SS%
     echo year : %year%
     echo DESTINATION : %DESTINATION%
    
     endlocal
    
     MKDIR \%DESTINATION%\
    

【问题讨论】:

标签: windows datetime directory naming-conventions mkdir


【解决方案1】:
  1. 这将是一种简单的方法。

set "folder_name=%DATE:~10,4%%DATE:~4,2%%DATE:~7,2%%TIME:~0,2%%TIME:~3,2%%TIME:~6,2%-EXTRACTION" md "%folder_name%"

  1. 在上述程序中,您只需将 MKDIR "%DESTINATION%" 放在 endlocal 之前,并且 %DESTINATION% 应该在双引号内。

MKDIR "%DESTINATION%" endlocal

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-09-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-12-19
    • 2016-01-17
    • 2015-01-02
    相关资源
    最近更新 更多