如何在昨天的日期创建文件夹名称?

时间:2014-07-18 22:12:00

标签: batch-file

我想做两件事:

  • 使用昨天的名称创建文件夹名称 - 例如,如果今天是2014_07_18,则在此目录下创建文件夹名称2014_07_17“d:\ test”

  • 然后我有一些昨天的日期(2014_07_17)的文件作为“d:\ test * .txt”下的修改日期,需要转移到新创建的文件夹“d:\ test \ 2014_07_17”

但是今天运行批处理代码(2014_07_18)

2 个答案:

答案 0 :(得分:2)

@if (@X)==(@Y) @end /* jsctipt comment 

    @echo off
    for /f "tokens=* delims=" %%d in ('cscript //E:JScript //nologo "%~f0"') do (
        set "yesterday=%%d"
    )
    echo %yesterday%
    md %yesterday% >nul 2>&1
    exit /b 0

end of jsccript comment */

var yesterday = new Date();
yesterday.setDate(yesterday.getDate() - 1);
var dd = yesterday.getDate();    
var mm = yesterday.getMonth()+1;                    
var yyyy = yesterday.getFullYear();    
if(dd<10){dd='0'+dd} 
if(mm<10){mm='0'+mm}
yesterday = yyyy+'_'+mm+'_'+dd;

WScript.Stdout.WriteLine(yesterday);

将其另存为.bat

答案 1 :(得分:0)

这很有趣。下面是你如何达到目标的头脑风暴 - 有一些缺陷需要修复(他们会 也很有趣,例如:

如果是本月的第1天,您需要更改月份值(例如08012014到07312014)。您还需要考虑因素 总天数变化的月份(例如08012014至07312014,07012014至06302014,03012014至02282014)。

  

C:\ example&gt; echo%date%

     

2014年8月16日星期六

     

C:\ example&gt; echo%date:〜-10,2 %% date:〜-7,2 %% date:〜-4,4%

     

08162014

     

C:\ example&gt; set / a today =%date:〜-7,2%

     

16   C:\ example&gt; set / a yesterday =%today%-1

     

15

     

C:\ example&gt; echo%date:〜-10,2 %%昨天%% date:〜-4,4%

     

08152014

     

C:\ example&gt;设置ydate =%date:〜-10,2 %%昨天%% date:〜-4,4%

     

C:\ example&gt; mkdir%ydate%

     

C:\示例&gt; DIR

     

驱动器C中的卷没有标签。

     

卷序列号为8E75-333E

     

C:\ example

目录      

08/16/2014 07:29 PM。

     

08/16/2014 07:29 PM ..

     

08/16/2014 07:29 PM&gt; &GT; 08152014

           0 File(s)              0 bytes
           3 Dir(s)  938,853,076,992 bytes free
  

C:\示例&gt;