批处理文件 - 创建文件夹,根据日期提前一天 [英] Batch file - creating folder based on date 1 day ahead

查看:287
本文介绍了批处理文件 - 创建文件夹,根据日期提前一天的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

@echo off
for /f "tokens=2 delims==" %%a in ('wmic OS Get localdatetime /value') do set "dt=%%a"
set "YY=%dt:~2,2%" & set "YYYY=%dt:~0,4%" & set "MM=%dt:~4,2%" & set "DD=%dt:~6,2%"
set "HH=%dt:~8,2%" & set "Min=%dt:~10,2%" & set "Sec=%dt:~12,2%"

mkdir "C:\Users\name\Desktop\%mm%%dd%%yy%\"

pause

-Is有没有办法让它创建该文件夹并将其命名为1天先进。今天是11/14我想它来创建它并将其命名为11/15?最后看起来像个111​​514

-Is there a way to make it create the folder and name it 1 day in advanced. Today is 11/14 I want it to create it and name it 11/15? end up looking like 111514

推荐答案

试试这片 CMD 魔法。我把它从调用的脚本<一个href=\"http://www.experts-exchange.com/OS/Microsoft_Operating_Systems/MS_DOS/A_4196-Advanced-Batch-File-Programming-TOMORROW-BAT.html\"相对=nofollow> TOMORROW.BAT ,并重新设计了一下,以配合您的变量。

Try this piece of cmd magic. I took it from the script called TOMORROW.BAT and reworked a bit to match your variables.

@echo off

for /f "tokens=2 delims==" %%a in ('wmic OS Get localdatetime /value') do set "dt=%%a" 
set "YY=%dt:~2,2%" 
set "YYYY=%dt:~0,4%"
set "MM=%dt:~4,2%"
set "DD=%dt:~6,2%"
set "HH=%dt:~8,2%"
set "Min=%dt:~10,2%"
set "Sec=%dt:~12,2%"

:loop
  set /a DD+=1

  if %DD% gtr 31 (
    set DD=1
    set /a MM+=1

    if %MM% gtr 12 (
      set MM=1
      set /a YY+=1
      set /a YYYY+=1
    )
  )
xcopy /d:%MM%-%DD%-%YYYY% /l . .. >nul 2>&1 || goto loop

echo %DD%/%MM%/%YYYY%
mkdir "C:\Users\name\Desktop\%MM%%DD%%YY%\"
pause

这里的想法是使用 /天的选项 XCOPY 来验证递增的日期,否则我们将需要处理这有个28,手动29,30或31天。

The idea here is to use /d option of xcopy to validate the incremented date—otherwise we would need to handle months which have 28, 29, 30, or 31 days manually.

这篇关于批处理文件 - 创建文件夹,根据日期提前一天的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆