How to create a folder with name as current date in batch (.bat) files

前端 未结 24 1253
被撕碎了的回忆
被撕碎了的回忆 2020-12-08 02:26

I don\'t know much about windows .bat file syntax. My simple requirement is to create a folder at a specific location with name as current date. I tried searching this on go

相关标签:
24条回答
  • 2020-12-08 02:46

    Thanks for the info all, very helpful. I needed something that could create "backup" folder as often as every minute in the same directory, as well as call on it later in the script. Here's what I came up with:

    @ echo off
    
    CD %userprofile%\desktop
    
    SET Datefolder="%DATE:~4,2%-%DATE:~7,2%-%DATE:~12,2%_%time:~1,1%%time:~3,2%"
    
    MD "%Datefolder%"
    

    This gives me a folder on the currently logged on user's desktop named: mm-dd-yy_hmm (hour minute minute) ie: 07-28-15_719

    0 讨论(0)
  • 2020-12-08 02:47
    echo var D = new Date() > tmp.js 
    echo D = (D.getFullYear()*100+D.getMonth()+1)*100+D.getDate() >> tmp.js 
    echo WScript.Echo( 'set YYYYMMDD='+D ) >> tmp.js 
    echo @echo off > tmp.bat 
    cscript //nologo tmp.js >> tmp.bat 
    call tmp.bat
    mkdir %YYYYMMDD%
    
    0 讨论(0)
  • 2020-12-08 02:49

    Quick and dirty: If you can live with the date being UTC instead of local, you can use:

    for /f "skip=1" %%d in ('wmic os get localdatetime') do if not defined mydate set mydate=%%d
    md %mydate:~0,8%
    

    Works in all locales. Only on XP and higher, though.

    0 讨论(0)
  • 2020-12-08 02:50

    I had a problem with this because my server ABSOLUTELY had to have its date in MM/dd/yyyy format, while I wanted the directory to be in YYYY-MM-DD format for neatness sake. Here's how to get it in YYYY-MM-DD format, no matter what your regional settings are set as.

    Find out what gets displayed when you use %DATE%:

    From a command prompt type:

    ECHO %DATE%
    

    Mine came out 03/06/2013 (as in 6th March 2013)

    Therefore, to get a directory name as 2013-03-06, code this into your batch file:

    SET dirname="%date:~6,4%-%date:~0,2%-%date:~3,2%"
    mkdir %dirname%
    
    0 讨论(0)
  • 2020-12-08 02:50

    this is a more simpler solution.

    @ECHO OFF
    set name=%date%
    echo %name%
    mkdir %name% 
    
    0 讨论(0)
  • 2020-12-08 02:50

    You'll like this, change it so that it can suit your requirements.

    mkdir today
    Copy Desktop\test1\*.* today
    setlocal enableextensions
    set name=%DATE:/=_%
    Rename "today" _OlddatabaseBackup_"%name%"
    
    0 讨论(0)
提交回复
热议问题