我想做两件事:
使用昨天的名称创建文件夹名称 - 例如,如果今天是2014_07_18,则在此目录下创建文件夹名称2014_07_17“d:\ test”
然后我有一些昨天的日期(2014_07_17)的文件作为“d:\ test * .txt”下的修改日期,需要转移到新创建的文件夹“d:\ test \ 2014_07_17”
但是今天运行批处理代码(2014_07_18)
答案 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;