用DOS批处理实现建立文件夹的代码

时间:2021-05-22

题目:用DOS批处理实现建立文件夹
要求:1要求建立文件名格式为"YYYY1-MM1-DD1至YYYY2-MM2-DD2"的文件夹
2其中YYYY1-MM1-DD1是今天的日期;YYYY2-MM2-DD2是四天后的日期
解答:
复制代码 代码如下:
@echooff
rem比较运算符:EQU-等于NEQ-不等于LSS-小于LEQ-小于或等于GTR-大于GEQ-大于或等于
rem取模运算符:%%DOS的取模运算符(批处理文件里用%%,非批处理命令行下用%)

rem日志文件夹名称初始值
setfilelog=%date:~0,10%至
rem后续日期的变量
set/Ay=0
set/Am=0
set/Ad=0
rem取日期YYYYMMDD中的DD两位
set/Add=%date:~8,2%
set/Addp4=%dd%+4
rem取日期YYYYMMDD中的MM两位
set/Amm=%date:~5,2%
set/Ammp1=%mm%+1
rem取日期YYYYMMDD中的YYYY四位
set/Ayyyy=%date:~0,4%
set/Ayyyyp1=%yyyy%+1
set/Ayymd=yyyy%%4

rem如果是31天的月份(1,3,5,7,8,10,12)
rem12月特殊
if%mm%equ12(
if%ddp4%leq31(
set/Ay=%yyyy%
set/Am=%mm%
set/Ad=%ddp4%
)
if%ddp4%gtr31(
if%mmp1%gtr12(
set/Ay=%yyyy%+1
set/Am=1
set/Ad=%ddp4%-31
)
)
gotoEND
)
if%mm%equ10(
if%ddp4%leq31(
set/Ay=%yyyy%
set/Am=%mm%
set/Ad=%ddp4%
)
if%ddp4%gtr31(
set/Ay=%yyyy%
set/Am=%mmp1%
set/Ad=%ddp4%-31
)
gotoEND
)
if%mm%equ8(
if%ddp4%leq31(
set/Ay=%yyyy%
set/Am=%mm%
set/Ad=%ddp4%
)
if%ddp4%gtr31(
set/Ay=%yyyy%
set/Am=%mmp1%
set/Ad=%ddp4%-31
)
gotoEND
)
if%mm%equ7(
if%ddp4%leq31(
set/Ay=%yyyy%
set/Am=%mm%
set/Ad=%ddp4%
)
if%ddp4%gtr31(
set/Ay=%yyyy%
set/Am=%mmp1%
set/Ad=%ddp4%-31
)
gotoEND
)
if%mm%equ5(
if%ddp4%leq31(
set/Ay=%yyyy%
set/Am=%mm%
set/Ad=%ddp4%
)
if%ddp4%gtr31(
set/Ay=%yyyy%
set/Am=%mmp1%
set/Ad=%ddp4%-31
)
gotoEND
)
if%mm%equ3(
if%ddp4%leq31(
set/Ay=%yyyy%
set/Am=%mm%
set/Ad=%ddp4%
)
if%ddp4%gtr31(
set/Ay=%yyyy%
set/Am=%mmp1%
set/Ad=%ddp4%-31
)
gotoEND
)
if%mm%equ1(
if%ddp4%leq31(
set/Ay=%yyyy%
set/Am=%mm%
set/Ad=%ddp4%
)
if%ddp4%gtr31(
set/Ay=%yyyy%
set/Am=%mmp1%
set/Ad=%ddp4%-31
)
gotoEND
)

rem如果是30天的月份(4,6,9,11)
if%mm%equ11(
if%ddp4%leq30(
set/Ay=%yyyy%
set/Am=%mm%
set/Ad=%ddp4%
)
if%ddp4%gtr30(
set/Ay=%yyyy%
set/Am=%mmp1%
set/Ad=%ddp4%-30
)
gotoEND
)
if%mm%equ9(
if%ddp4%leq30(
set/Ay=%yyyy%
set/Am=%mm%
set/Ad=%ddp4%
)
if%ddp4%gtr30(
set/Ay=%yyyy%
set/Am=%mmp1%
set/Ad=%ddp4%-30
)
gotoEND
)
if%mm%equ6(
if%ddp4%leq30(
set/Ay=%yyyy%
set/Am=%mm%
set/Ad=%ddp4%
)
if%ddp4%gtr30(
set/Ay=%yyyy%
set/Am=%mmp1%
set/Ad=%ddp4%-30
)
gotoEND
)
if%mm%equ4(
if%ddp4%leq30(
set/Ay=%yyyy%
set/Am=%mm%
set/Ad=%ddp4%
)
if%ddp4%gtr30(
set/Ay=%yyyy%
set/Am=%mmp1%
set/Ad=%ddp4%-30
)
gotoEND
)

rem如果是28或29天的月份(2)
if%mm%equ2(
if%yymd%equ0(
if%ddp4%leq29(
set/Ay=%yyyy%
set/Am=%mm%
set/Ad=%ddp4%
)
if%ddp4%gtr29(
set/Ay=%yyyy%
set/Am=%mmp1%
set/Ad=%ddp4%-29
)
gotoEND
)
if%ddp4%leq28(
set/Ay=%yyyy%
set/Am=%mm%
set/Ad=%ddp4%
)
if%ddp4%gtr28(
set/Ay=%yyyy%
set/Am=%mmp1%
set/Ad=%ddp4%-28
)

)

rem组合文件夹名称,并建立文件夹
:END
if%m%lss10setfilelog=%filelog%%y%-0%m%
ifnot%m%lss10setfilelog=%filelog%%y%-%m%
if%d%lss10setfilelog=%filelog%-0%d%
ifnot%d%lss10setfilelog=%filelog%-%d%
mkdir%filelog%

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章