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

题目:用DOS批处理实现建立文件夹
要求:1要求建立文件名格式为"YYYY1-MM1-DD1至YYYY2-MM2-DD2"的文件夹
     2其中YYYY1-MM1-DD1是今天的日期;YYYY2-MM2-DD2是四天后的日期
解答:


代码如下:

@echo off 
rem 比较运算符:  EQU - 等于  NEQ - 不等于   LSS - 小于   LEQ - 小于或等于   GTR - 大于   GEQ - 大于或等于 
rem 取模运算符:  %% DOS的取模运算符(批处理文件里用%%,非批处理命令行下用%)

rem 日志文件夹名称初始值 
set filelog=%date:~0,10%至 
rem 后续日期的变量 
set /A y=0 
set /A m=0 
set /A d=0 
rem 取日期YYYYMMDD中的DD两位 
set /A dd= %date:~8,2% 
set /A ddp4= %dd% + 4 
rem 取日期YYYYMMDD中的MM两位 
set /A mm= %date:~5,2% 
set /A mmp1= %mm% + 1  
rem 取日期YYYYMMDD中的YYYY四位 
set /A yyyy= %date:~0,4% 
set /A yyyyp1= %yyyy% + 1  
set /A yymd=yyyy %% 4

rem 如果是31天的月份( 1,3,5,7,8,10,12 ) 
rem 12 月特殊 
if %mm% equ 12 ( 
 if %ddp4% leq 31 ( 
  set /A y=%yyyy%  
  set /A m=%mm%  
  set /A d=%ddp4%  
 ) 
 if %ddp4% gtr 31 ( 
  if %mmp1% gtr 12 ( 
   set /A y=%yyyy% + 1  
   set /A m= 1  
   set /A d=%ddp4% - 31  
  ) 
 ) 
 goto END 

if %mm% equ 10 ( 
 if %ddp4% leq 31 ( 
  set /A y=%yyyy%  
  set /A m=%mm%  
  set /A d=%ddp4%  
  ) 
  if %ddp4% gtr 31 ( 
  set /A y=%yyyy%  
  set /A m=%mmp1%  
  set /A d=%ddp4% - 31  
  ) 
  goto END 

if %mm% equ 8 ( 
 if %ddp4% leq 31 ( 
  set /A y=%yyyy%  
  set /A m=%mm%  
  set /A d=%ddp4%  
  ) 
  if %ddp4% gtr 31 ( 
  set /A y=%yyyy%  
  set /A m=%mmp1%  
  set /A d=%ddp4% - 31  
  ) 
  goto END 

if %mm% equ 7 ( 
 if %ddp4% leq 31 ( 
  set /A y=%yyyy%  
  set /A m=%mm%  
  set /A d=%ddp4%  
  ) 
  if %ddp4% gtr 31 ( 
  set /A y=%yyyy%  
  set /A m=%mmp1%  
  set /A d=%ddp4% - 31  
  ) 
  goto END 

if %mm% equ 5 ( 
 if %ddp4% leq 31 ( 
  set /A y=%yyyy%  
  set /A m=%mm%  
  set /A d=%ddp4%  
  ) 
  if %ddp4% gtr 31 ( 
  set /A y=%yyyy%  
  set /A m=%mmp1%  
  set /A d=%ddp4% - 31  
  ) 
  goto END 

if %mm% equ 3 ( 
 if %ddp4% leq 31 ( 
  set /A y=%yyyy%  
  set /A m=%mm%  
  set /A d=%ddp4%  
  ) 
  if %ddp4% gtr 31 ( 
  set /A y=%yyyy%  
  set /A m=%mmp1%  
  set /A d=%ddp4% - 31  
  ) 
  goto END 

if %mm% equ 1 ( 
 if %ddp4% leq 31 ( 
  set /A y=%yyyy%  
  set /A m=%mm%  
  set /A d=%ddp4%  
  ) 
  if %ddp4% gtr 31 ( 
  set /A y=%yyyy%  
  set /A m=%mmp1%  
  set /A d=%ddp4% - 31  
  ) 
  goto END 
)

rem 如果是30天的月份( 4,6,9,11 ) 
if %mm% equ 11 ( 
 if %ddp4% leq 30 ( 
  set /A y=%yyyy%  
  set /A m=%mm%  
  set /A d=%ddp4%  
  ) 
  if %ddp4% gtr 30 ( 
  set /A y=%yyyy%  
  set /A m=%mmp1%  
  set /A d=%ddp4% - 30  
  ) 
 goto END 

if %mm% equ 9 ( 
 if %ddp4% leq 30 ( 
  set /A y=%yyyy%  
  set /A m=%mm%  
  set /A d=%ddp4%  
  ) 
  if %ddp4% gtr 30 ( 
  set /A y=%yyyy%  
  set /A m=%mmp1%  
  set /A d=%ddp4% - 30  
  ) 
 goto END 

if %mm% equ 6 ( 
 if %ddp4% leq 30 ( 
  set /A y=%yyyy%  
  set /A m=%mm%  
  set /A d=%ddp4%  
  ) 
  if %ddp4% gtr 30 ( 
  set /A y=%yyyy%  
  set /A m=%mmp1%  
  set /A d=%ddp4% - 30  
  ) 
 goto END 

if %mm% equ 4 ( 
 if %ddp4% leq 30 ( 
  set /A y=%yyyy%  
  set /A m=%mm%  
  set /A d=%ddp4%  
  ) 
  if %ddp4% gtr 30 ( 
  set /A y=%yyyy%  
  set /A m=%mmp1%  
  set /A d=%ddp4% - 30  
  ) 
 goto END 
)

rem 如果是28或29天的月份( 2 ) 
if %mm% equ 2 ( 
 if %yymd% equ 0 ( 
  if %ddp4% leq 29 ( 
   set /A y=%yyyy%  
   set /A m=%mm%  
   set /A d=%ddp4%  
  ) 
  if %ddp4% gtr 29 ( 
   set /A y=%yyyy%  
   set /A m=%mmp1%  
   set /A d=%ddp4% - 29  
  ) 
  goto END 
 ) 
 if %ddp4% leq 28 ( 
  set /A y=%yyyy%  
  set /A m=%mm%  
  set /A d=%ddp4%  
 ) 
 if %ddp4% gtr 28 ( 
  set /A y=%yyyy%  
  set /A m=%mmp1%  
  set /A d=%ddp4% - 28  
 )

)

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

(0)

相关推荐

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

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

  • Python中根据时间自动创建文件夹的代码实现

    导语 ​ 电脑桌面文件太多查找起来比较花费时间,并且凌乱的电脑桌面也会影响工作心情,于是利用python根据时间自动建立当日文件夹,这样就可以把桌面上文件按时间进行存放. 代码实现 # _*_coding:utf-8_*_ import os import datetime def create_folder(path): # 年-月-日 时:分:秒 now_time = datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S") # 年

  • Python实现比较两个文件夹中代码变化的方法

    本文实例讲述了Python实现比较两个文件夹中代码变化的方法.分享给大家供大家参考.具体如下: 这里将修改代码后的目录与原始目录做对比,罗列出新增的代码文件,以及修改过的代码文件 # -*- coding: utf-8 -*- import os; folderA = "F:\\Projects\\FreeImageV3_14_1\\".lower(); folderB = u"E:\\Software\\图像解码库\\FreeImage3141\\FreeImage\\&q

  • Node.js查找当前目录下文件夹实例代码

    整理文档,搜刮出Node.js查找当前目录下文件夹实例代码,稍微整理精简一下做下分享. var http = require("http"); var fs = require("fs"); var server = http.createServer(function (req,res) { //不处理收藏夹小图标 if(req.url == "/favicon.ico"){ return; } //files是文件名的数组 表示text这个文

  • BAT批处理之文件与文件夹操作代码(附xcopy命令详解)

    批处理中的文件.文件夹操作,xcopy命令的用法. 一,建bat文件自动执行复制,删除命令. 例1:复制cd.dll文件至windows\system32的bat文件内容: 复制代码 代码如下: copy cd.dll %windir%\system32 例2:卸载windows\system32目录中的cd.dll,即把上面复制的文件删除: 复制代码 代码如下: del %windir%\system32\cd.dll 例3:删除download文件夹中的文件,例子如下: 复制代码 代码如下:

  • 批量建立文件夹,为Serv_U批量创建用户

    在网上看了下,也没有找到好的方法.没办法,只能拿出老一套了用DOC建立了. 方法步骤. 1.首先建立各个账户的文件夹. 账号如果有规律的话那好说,如:ftp001.ftp001......ftp100,直接在Excel里自动产生即可,然后将产生的账号放到一个txt文件里,一行一个账号.如果不是有规律的,那没办法,只能一个一个输入了. 2.准备好这个账号的account.txt文件后,建立一个run.bat文件,打开文件,输入一下代码 @for /f %%i in (account.txt) do

  • 如何用DOS命令删除顽固文件夹啊

    一.常规解决办法: 1.注消或重启电脑,然后再试着删除. 2.进入"安全模式删除". 3.在纯DOS命令行下使用DEL,DELTREE和RD命令将其删除. 4.如果是文件夹中有比较多的子目录或文件而导致无法删除,可先删除该文件夹中的子目录和文件,再删除文件夹. 5.在任务管理器中结束Explorer.exe进程,然后在命令提示符窗口删除文件. 6.如果你有安装ACDSee,FlashFXP,Nero,Total这几个软件,可以尝试在这几个软件中删除文件夹. 二.高级解决方案: 1.磁盘

  • 写一段简单的PHP建立文件夹代码

    主要先获取当前目录的路径,然后判断文件夹是否存在,不存在则创建. <?php define('DIR_ROOT', str_replace('\\','/',dirname(__FILE__)));//获取当前文件物理路径 $tmp_file_path = DIR_ROOT.'/tmp/';//在根目录下增加tmp目录的路径 if(is_dir($tmp_file_path)) echo "tmp文件夹存在!"; else { mkdir($tmp_file_path, 0700

  • 批处理删除空文件夹

    实现代码: 复制代码 代码如下: @echo off for /f "tokens=*" %%a in ('dir /b /ad /s "目标文件夹"^|sort /r') do rd "%%a" 2>nul pause goto :eof @echo off for /f "delims=" %%i in ('dir /ad /b /s') do call :rd_dir_empty "%%i" g

  • C#对文件/文件夹操作代码汇总

    C#追加文件 StreamWriter sw = File.AppendText(Server.MapPath(".")+"\\myText.txt"); sw.WriteLine("追逐理想"); sw.WriteLine("kzlll"); sw.WriteLine(".NET笔记"); sw.Flush(); sw.Close(); C#拷贝文件 string OrignFile,NewFile; O

随机推荐