批处理文件 - 创建文件夹,根据日期提前一天 [英] Batch file - creating folder based on date 1 day ahead
问题描述
@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?最后看起来像个111514
-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屋!