精华内容
下载资源
问答
  • DOS批处理高级教程精选合编.pdf 有详细的书签。for语句详解 if语句详解 set语句详解 变量拓展
  • dos批处理命令大全

    2017-11-01 20:21:34
    历时近一年来收集到这么点儿资料,自己尝试过,还不错,小有收获。不敢独享,故上传之, 希望有兴趣者学习之。或许会对你的进步有一点点的帮助,那我就开心了...............
  • DOS批处理高级教程精选合编完整版 DOS批处理高级教程精选合编完整版 DOS批处理高级教程精选合编完整版
  • dos批处理教程

    2018-06-04 09:28:22
    dos批处理教程 www.dostips.com dos批处理教程 www.dostips.com
  • 批处理 bat中的for命令的作用,非常的不错,可以节省很多效率,它可以读取文章的没一行,循环执行ping命令,探索端口,学习批处理如果不学习for将是个遗憾,希望大家多看看for 命令的实际应用的例子
  • dos批处理命令解析

    2018-01-15 16:09:19
    dos批处理命令解析dos批处理命令解析dos批处理命令解析dos批处理命令解析
  • 主要介绍了DOS批处理高级教程 第七章 DOS批处理编程高级技巧,需要的朋友可以参考下
  • DOS批处理 DOS批处理

    2009-06-04 08:38:09
    DOS批处理.docDOS批处理.docDOS批处理.docDOS批处理.docDOS批处理.doc
  • 批处理 也就是批量处理任务,常用于重复多次或者经常重复操作的任务。 在windows的命令行中,命令的执行是交互式的,你输入一条,系统执行一条,效率比较低,而将其写入到批处理文件中,直接双击批处理文件,系统就...

    批处理

    批处理(Batch),也称为批处理脚本。顾名思义,批处理就是对某对象进行批量的处理,通常被认为是一种简化的脚本语言,它应用于DOS和Windows系统中。批处理文件的扩展名为bat 。目前比较常见的批处理包含两类:DOS批处理和PS批处理。PS批处理是基于强大的图片编辑软件Photoshop的,用来批量处理图片的脚本;而DOS批处理则是基于DOS命令的,用来自动地批量地执行DOS命令以实现特定操作的脚本。更复杂的情况,需要使用if、for、goto等命令控制程式的运行过程,如同C、Basic等高级语言一样。如果需要实现更复杂的应用,利用外部程式是必要的,这包括系统本身提供的外部命令和第三方提供的工具或者软件。批处理程序虽然是在命令行环境中运行,但不仅仅能使用命令行软件,任何当前系统下可运行的程序都可以放在批处理文件中运行。

    在windows的命令行中,命令的执行是交互式的,你输入一条,系统执行一条,效率比较低,而将其写入到批处理文件中,直接双击批处理文件,系统就会将你所输入的命令按顺序从上往下依次执行。

    创建批处理文件

    windows嘛,都是图形化界面,操作非常简单,只需要创建一个文本文件,然后将其后缀名改为.bat或.cmd即可。

    .bat和.cmd区别
    bat用的是16位的dos运行的,而cmd则是通过XP系统的32位dos运行的,有些命令在bat里面是可以使用的,但是cmd文件里面却不能使用。

    若不显示后缀,需在资源管理器中开启扩展名功能

    在这里插入图片描述
    在windows7中,把隐藏文件扩展名取消掉即可修改文件后缀名。
    在这里插入图片描述
    创建一个文本文件,并将其后缀名改为.bat,这样一个批处理文件就创建成功了。
    在这里插入图片描述
    右击选择编辑,即可在其中输入数据,例如:
    在这里插入图片描述

    双击执行文件
    在这里插入图片描述
    一个简单的批处理文件就创建完成了,将要执行的命令输入到其中即可。

    展开全文
  • 双击即可自动设置操作系统IP地址为自动获取
  • 批处理bat中设置运行窗口的大小、背景及文字的大小、颜色等命令
  • DOS批处理高级教程

    2011-08-12 14:31:09
    DOS批处理高级教程:第一章 批处理基础 DOS批处理高级教程:第二章 DOS循环for命令详解 DOS批处理高级教程:第三章 for命令中的变量 DOS批处理高级教程:第四章 批处理中的变量 DOS批处理高级教程:第五章 set...
  • DOS批处理编译器 写批处理的NB工具 DOS批处理编译器 DOS软件
  • DOS批处理实例教程

    2010-02-18 16:25:50
    DOS批处理实例教程 DOS 批处理 实例 批处理,也称为批处理脚本,英文译为BATCH,批处理文件后缀BAT就取的前三个字母。它的构成没有固定格式,只要遵守以下这条就ok了:每一行可视为一个命令,每个命令里可以含多条...
  • dos批处理教程集合.zip

    2011-11-03 23:04:40
    dos批处理教程集合.zip dos批处理教程集合.zip
  • 重新提起DOS批处理程序,是因为像Tomcat/JBoss/WebLogic等应用服务器在控制台下都是用批处理来启动的,其中设置环境变量,运行参数,自己的程序中也可能会用到批处理来交互式启动、运行,所以不妨用到时回顾一下,...
  • 分秒必争简单个人DOS批处理工具是一很小的bat文件
  • DOS批处理释义(推荐)

    2021-05-15 05:31:39
    微软为了让先天有着批量处理“体力活”能力的DOS避免“冷酷”,便于接近,特意提供了几个小命令,加强批处理的用户交互功能。 【 1、视窗 】 首先我们要DIY它的窗口。使用命令:color、mode、msg。 --1、设置窗口...

    ession”。其中,expression代表计算表达式,计算表达式跟C语言里面的表达式基本上完全一致。set支持的运算符也跟C语言里面的一样,只是没有了増一减一。set支持的运算符及优先级排序如下:

    =========================================

    () - 分组

    ! ~ - - 一元运算符(逻辑非、按位非、取负)

    * / % - 算数运算符(乘、除得商、除得余数,即取余)

    + - - 算数运算符(加、减)

    << >> - 逻辑移位(左移一位、右移一位)

    & - 按位“与”

    ^ - 按位“异”

    | - 按位“或”

    = *= /= %= += -= - 赋值

    &= ^= |= <<= >>=

    , - 表达式分隔符(set可一次处理多个表达式)

    =========================================

    我们知道,批处理中取变量的值是需要用%或者!的,而在set /a 中,直接用变量名称即可取得变量的值。另外,set支持八进制(数字前缀0)、十进制(数字无前缀)和十六进制(数字前缀0x),且支持不同进制之间的计算,如set /a a=123+0123+0x123,计算及显示结果为十进制。

    [编辑本段]批处理概念方法简介

    学习有关批处理的一些比较琐碎、但又比较有价值的一些知识,运用这些知识后,才有条件更好的实现的批处理的功能,并能使批处理摆脱黑白世界而显得更加多姿多彩。

    (一)环境变量

    所谓“环境变量”,实际上就是C语言里面的“变量”的意思。批处理的变量可以分为两类,由系统定义的系统变量和由用户根据需要自定义的用户变量。

    【 1、系统变量 】

    批处理的一些变量是由操作系统事先定义好的,可以适用于任何批处理,我们称这些特殊的变量为“系统变量”。系统变量有很多个,包括硬件类、操作系统类、文件路径类、系统时间类等。要查看所有的系统变量,请新打开一个cmd窗口,输入set回车即可。对几个比较常用的变量解释如下:

    ComputerName 计算机名,即右键 我的电脑--属性--计算机名 选项卡中的“完整的计算机名称”

    ComSpec cmd.exe完整路径名

    HomeDrive 系统分区盘符,一般都是C盘,故而HomeDrive=C:

    Path 可执行文件默认搜索路径。这个东东非常重要!待会儿单独讲解…

    ProgramFiles 就是系统的Program Files的路径啦,一般都是C:\Program Files,这就是安装软件时默认的安装路径了

    Prompt 个性化设置cmd提示符的必备武器!不过,我没怎么用过~

    SystemDrive 包含系统根目录的分区,其实就是HomeDrive了

    SystemRoot 系统根目录路径,一般都是C:\WINDOWS

    Temp、Tmp 文件、程序等可使用的临时目录,默认是C:\WINDOWS\Temp或Tmp。几乎所有的程序在运行时都会在这个目录里面“临时”写入文件。一般情况下,程序写入的临时文件都应该被该程序删除,可惜的是,大部分的程序都很健忘,导致这个文件夹占据的空间越来越大,自然也就使我们的系统增肥喽。所以,我们要把它修改到其他分区,并且时时的清理里面的临时文件。

    UserName 当前用户名,即所登陆的账户名

    UserProfile 当前用户的配置目录,一般都是C:\Documents and Settings\%UserName%。默认情况下,我们的桌面就是这个目录下面的“桌面”文件夹;我的文档就是这个目录下面的“My Documents”文件夹。所以啦,往桌面上或我的文档里面放东西就是放到这个文件夹下面了,也就是放到C盘了,重装系统时要覆盖C盘内容的,所以桌面上或我的文档里面的东西当然就会Gone with the Wind了~解决方法有两个,一是保持良好的习惯,不把重要文件放到这两个地方;二是,修改默认设置,将这两个文件夹都移到其他分区。

    WinDir 操作系统路径,其实就是SystemRoot了

    (二)用户变量

    编写批处理程序时,用户根据需要自己定义的变量称之为用户变量。用户变量类似于C语言里面的变量,仅仅在定义该变量的程序中有效。

    用户变量由set命令定义,这是批处理中非常非常重要的一个操作,从而使set命令成为批处理里面使用频率最高的几个命令之一。关于set命令的使用,参考set /?,本教程也会在后面对其进行讲解。

    【 3、变量引用 】

    前面的几节课里面,我们已经看到了如何引用变量,即直接用变量名操作变量,通过"%"或"!"来获取变量的值。其中,只有在for语句里面重复对同一变量多次赋值时才需要使用"!",并且在使用"!"调用变量时,要首先“启用延迟环境变量扩充”,启动命令为:SetLocal EnableDelayedExpansion。另外需要说明的是,“启用延迟环境变量扩充”后,所有的"!"都将被视为“取变量值”的特殊符号,即使用"^!"也不能输出符号"!"。若要输出"!",则需要“停用延迟环境变量扩充”,命令为:SetLocal DisableDelayedExpansion

    (三)参数

    跟C语言类似,在调用函数或其他批处理时可能需要传递参数。批处理的参数传递分为直接和间接两种传递参数的方法。

    【 1、直接传递 】

    直接传递参数,即在使用call命令时,不使用任何参数,在子函数或子批处理里面直接对主函数(也称父批处理)里面的变量进行修改。这跟汇编语言里面的参数传递方式类似。

    直接传递参数举例:

    ===============================================

    @echo off

    setlocal enabledelayedexpansion

    set var=aCdehiM,?mnrstW y

    echo %var%

    call :deal

    setlocal disabledelayedexpansion

    set var=%var:?=!%

    echo %var%

    pause>nul

    exit

    :deal

    set tm=!var!

    set var=

    for %%i in (6,3,11,11,16,15,1,4,11,5,12,13,9,0,12,7,15,14,5,10,2,16,18,8) do (

    set var=!var!!tm:~%%i,1!

    )

    goto :eof

    ===============================================

    可以发现,当我们把变量var作为参数赋予子函数:deal后,子函数对var的值进行了修改;当子函数返回后,主函数里面的var的值就已经是子函数里面var被修改后的值了。

    该例子中,使用了本节课前面讲到的setlocal enabledelayedexpansion和setlocal disabledelayedexpansion,前者保证了var在for循环里面能够根据我们的意愿进行处理,后者保证了能够正确输出符号"!"。另外例子中还使用了命令set,利用set对字符串进行了处理。还有一个地方使用了语句goto :eof,该语句相当于C语言里面的return或汇编语言里面的RET,即子程序返回命令。需要说明的是,当子函数本身就在批处理文件的末尾的话,我们是可以省略这句话的,比如将此例的goto :eof删除是不会产生任何影响的。

    【 2、间接传递 】

    间接传递参数,即在使用call命令时,在其后面添加参数,形如call {[:label][ChildBatch]} Parameter1 Parameter2 ... ParameterN。这跟C语言里面传递参数的格式类似。不同于C语言,批处理中的子函数不需要定义形参,更不需要指定参数的个数。传递过来的参数,在子函数或子批处理里面是以%1~%9的形式表示的,即%1~%9分别表示传递过来的第1~9个参数。

    ===============================================

    @echo off

    call :deal aaa bbb "c c" ddd eee

    pause>nul

    exit

    :deal

    echo %%0 = %0

    echo %%1 = %1

    echo %%2 = %2

    echo %%3 = %3

    echo %%4 = %4

    echo %%5 = %5

    ===============================================

    通过这个例子就可以清晰的看到%n参数表示法的用法。参数列表中包含空格的依旧要用双引号(")引起来;另外,也可以看到,%0已经变成了子函数的标号了,而不是父批处理的文件名全称。

    【 3、区别 】

    这两种参数传递方法本质上是没有区别的,形式上,直接传递直接对原变量进行操作,丢失了原变量的值;间接传递则通过%n对原变量进行了简单的备份,并且通用性更强,即不限定原变量的名称。另外,使用%n还有一个非常大的好处,就是可以通过%~*i来加强处理变量的能力。关于%~*i,详细内容参见for /?。

    针对二者的差别,可以根据情况决定使用哪种传递方式:

    --1、作为参数的变量名固定、且在子函数中不需要对其进行备份的情况下,使用直接传递法;

    --2、若将子函数作为一个通用的程序模块,以适应于对不同变量的处理,或者作为参数的变量不需要备份时,使用间接传递法。

    具体使用哪种方法,还需根据实际情况或使用习惯进行选择。

    (四)返回值

    有些命令在执行之后将会返回一定的错误值(errorlevel),可以通过errorlevel的值判断命令执行的状况。这点类似于C语言里面的exit(num),num就是错误代码。

    获取返回值errorlevel的方法就是,在执行命令后,立马调用返回值errorlevel,如echo %errorlevel%或者if %errorlevel%==1等命令。

    errorlevel举例:

    ===============================================

    @echo off

    reg add HKCU /v try /f>nul

    reg delete HKCU /v try /f

    if errorlevel 0 (echo 删除成功!) else (echo 删除失败!)

    reg delete HKCU /v try /f

    if %errorlevel%==0 (echo 删除成功!) else (echo 删除失败!)

    pause>nul

    ===============================================

    上面例子中,由于第一成功的删除了注册表,导致第二次因为找不到注册表而宣告失败。同时我们也看到了errorlevel的使用方法,即if errorlevel 0和if %errorlevel%==0是一样的。也许你注意到了,里面还有个笑脸呢~O(∩_∩)O哈哈~这就是ASCII码啦,后面跟你讲啊…

    一般情况下,程序或命令成功执行时,返回的errorlevel是0,错误时返回1或更高的值。当然,有些命令是没有返回值的,这点需要注意。

    嗯,有没有想起前面有个类似的东西啊?对了,那就是||和&&了,这两个符号就是根据errorlevel的值来进行逻辑判断的~

    (五)用户交互

    批处理,黑框白字是它最著名的特征。虽然当初DOS为人们使用计算机做出了莫大的贡献,但在Windows盛行的今天,人们已经疏远并且惧怕那个黑色的窗口了。微软为了让先天有着批量处理“体力活”能力的DOS避免“冷酷”,便于接近,特意提供了几个小命令,加强批处理的用户交互功能。

    【 1、视窗 】

    首先我们要DIY它的窗口。使用命令:color、mode、msg。

    --1、设置窗口背景色和字体颜色by color。详细内容参见color /?。

    --2、设置窗口大小by "MODE CON [COLS=c] [LINES=n]",cols即宽度,lines即高度。

    --3、GUI交互窗口by msg。详细内容参见msg /?。

    视窗DIY举例:

    ===============================================

    @echo off

    set a=10

    set b=0

    :tex

    set /a a+=3

    set /a b+=1

    mode con cols=%a% lines=%b%

    if %a% lss 60 goto :tex

    echo O(∩_∩)O 圣诞快乐 O(∩_∩)O

    set a=15,a6,2e,d0,34,8b,4f,9d,5e

    for %%i in (%a%) do (

    ping -n 2 127.1>nul

    color %%i

    )

    for %%i in (%a%,%a%) do (

    ping -n 1 127.1>nul

    color %%i

    )

    >>ms.txt echo */. . . * .

    >>ms.txt echo .\* . [] * __

    >>ms.txt echo */ . ./\~~~~~~~~~~~~'\. ^|◆

    >>ms.txt echo \* ,/,..,\,...........,\.◆

    >>ms.txt echo ^|^| ..▎# ▎田 田 ▎ ^| ▎◆

    >>ms.txt echo ^|^| ^&^&▎ ▎ ▎'^|'▎ o

    >>ms.txt echo ^|^| ##■■■■■■■■■■〓

    msg %username% /w /time:3600 del ms.txt

    pause

    ===============================================

    【 2、声音 】

    呵呵,是不是注意到了批处理没有声音呐?闲话不说,直接做实验吧 ^_^

    ===============================================

    @echo off

    echo 做好准备,响了啊!!

    pause

    cls

    echo

    echo 怎么样?呵呵,刺激吧~

    pause

    cls

    mshta vbscript:createobject("sapi.spvoice").speak("Merry Christmas and Happy New Year!")(window.close)

    pause

    ===============================================

    此处,这个就是调用vbs的方法:vbscript:createobject("sapi.spvoice").speak("Merry Christmas and Happy New Year!")

    speak 好像不能讲中文呐~

    其实不然,如果tts安装了中文引擎是可以讲中文的。

    【 3、控制 】

    在运行批处理的过程中,我们如何干预批处理呢?呵呵,直接点叉叉就可以结束它了!嗯,不错,不过,太野蛮了~

    --1、暂停批处理:直接按键盘上的Pause键喽

    --2、终止批处理:组合键Ctrl+C。不过,有时候它好像响应的不太积极啊…

    (六)ASCII码

    前面的例子中,我们已经使用过一次ASCII码了,也就是那个笑脸。ASCII码是图形化的符号,可以用来点缀我们的批处理的。

    在cmd窗口中我们可以通过任意一个字符的ASCII码来输入该字符,比如Ctrl+G、Ctrl+N等,字母a-z对应ASCII码的97-122。对于ASCII码大于26的字符,可以通过这个方法来输入:按住Alt键不松,通过小键盘输入ASCII码的十进制值,松开Alt键即可。

    [编辑本段]批处理文件的应用

    批处理文件是将一系列命令按一定的顺序集合为一个可执行的文本文件,其扩展名为BAT。

    1、 REM

    REM 是个注释命令一般是用来给程序加上注解的,该命令后的内容在程序执行的时候将不会被显示和执行。例:

    REM 你现在看到的就是注解,这一句将不会被执行。在以后的例子中解释的内容都REM 会放在REM后面。请大家注意。

    2、 ECHO

    ECHO 是一个回显命令主要参数有OFF和 ON,一般用ECHO message来显示一个特定的消息 。例:

    Echo off

    Rem 以上代表关闭回显即不显示所执行的命令

    Echo 这个就是消息。

    Rem 以上代表显示“这就是消息”这列字符

    执行结果:

    C:\>ECHO.BAT

    这个就是消息。

    3、 GOTO

    GOTO 即为跳转的意思。在批处理中允许以“:XXX”来构建一个标号然后用GOTO :标号直接来执行标号后的命令。例

    :LABEL

    REM 上面就是名为LABEL的标号。

    DIR C:\

    DIR D:\

    GOTO LABEL

    REM 以上程序跳转标号LABEL处继续执行。

    4、CALL

    CALL 命令可以在批处理执行过程中调用另一个批处理,当另一个批处理执行完后再继续执行原来的批处理。例:

    批处理2.BAT内容如下:

    ECHO 这就是2的内容

    批处理1.BAT内容如下:

    ECHO 这是1的内容

    CALL 2.BAT

    ECHO 1和2的内容全部显示完成

    执行结果如下:

    C:\>1.BAT

    这是1的内容

    这就是2的内容

    1和2的内容全部显示完成

    5、PAUSE

    PAUSE 停止系统命令的执行并显示下面的内容。例:

    C:\> PAUSE

    请按任意键继续 . . .

    6、 IF

    IF 条件判断语句,语法格式如下:

    IF [NOT] ERRORLEVEL number command

    IF [NOT] string1==string2 command

    IF [NOT] EXIST filename command

    说明:

    [NOT] 将返回的结果取反值即“如果没有”的意思。

    ERRORLEVEL 是命令执行完成后返回的退出值

    Number 退出值的数字取值范围0~255。判断时值的排列顺序应该又大到小。返回的值大于或等于指定的值时条件成立。

    string1==string2 string1和string2都为字符的数据,英文字符的大小写将看做不同,这个条件中的等于号必须是2个(绝对相等),条件想等后即执行后面的 command

    EXIST filename 为文件或目录存在的意思。

    IF ERRORLEVEL这条语句必须放在某一个命令后面。执行命令后由IF ERRORLEVEL来判断命令的返回值。 [/size]

    展开全文
  • dos批处理命令详解.doc

    2021-06-08 14:16:37
    dos批处理命令详解
  • MS-DOS批处理文件是什么?DOS系统的批处理文件,是什么意思啊,有什么作用?dos批处理中的管道命令"|"有什么作用,能举个例子吗请问一下MS-DOS 批处理文件是什么?有什么功能呢?DELME.EXE吗?批处理文件扩展名是.BAT...

    MS-DOS批处理文件是什么?

    DOS系统的批处理文件,是什么意思啊,有什么作用?

    dos批处理中的管道命令"|"有什么作用,能举个例子吗

    d42ec5e96b48b74a6dc8bb5afd24d983.png

    请问一下MS-DOS 批处理文件是什么?有什么功能呢?

    DELME.EXE吗?批处理文件扩展名是.BAT,EXE是可执行文件,DELME是“删除我”,很明显是可疑文件(至少有恶做剧意思,双击运行后一般会在电脑中安装类似木马性质的东西,比如打开IE时会自动转到某一网站),以后只要在桌面上的EXE文件你不认识的删

    如何使用dos批处理创建桌面快捷方式

    我需要在cmd窗口下执行多条重复的adb命令,如果一遍一遍的执行的话,需批处理弄个太高深的我怕没人看,今天就说说批处理文件的编写吧,从某种意义上说,批处理就是一种编程,其实批处理是一种宏,但是用途非常广泛,可以实现一些用软件才可以实现的简单功能。 希望大家仔细看,并跟帖讨论 跳转(可用作循环)的话可

    如何使用DOS批处理控制PC喇叭(蜂鸣器)发声

    我要执行一段批处理进行一个操作,该操作比较耗时,我需要在执行到一定@echo off echo pause>nul echo后面即是蜂鸣字符。按实际调整即可。 DOS是基于ascii码的,蜂鸣键在ascii是07叫做Beep,在0~128范围内仅有一个beep可以发声。除楼上说的,还可以: @echo off for /

    DOS批处理如何注释好几行内容???

    DOS批处理如何注释好几行内容???类似C里面的/**/,如果要用rem 或::记事本新建一个txt修改后缀为bat记事本编辑。

    dos 批处理后自动关闭窗口

    运行完成之后 黑色窗口无法关闭...CSS布局HTML小编今天和大家分享救 @echo off start F:\软件\PDos批处理命令bat文件运行完以后自动关闭dos窗口的方法Dos批处理命令bat文件运行完以后自动关闭dos窗口的方法:  很多人运行完批处理命令发现dos窗口不能自动关闭,那是因为你在bat文件中直接执行了需要运行的某些外部程序。

    展开全文
  • dos批处理命令详解

    2010-09-14 20:21:09
    dos批处理命令详解.txt dos批处理命令详解.txt dos批处理命令详解.txt dos批处理命令详解.txt dos批处理命令详解.txt
  • DOS批处理高级教程精选合编,比较适合刚入门的一些想要学dos和批处理的同学们,个人读完觉得还行,待鉴赏。
  • DOS批处理DOS批处理DOS批处理DOS批处理DOS批处理DOS批处理DOS批处理
  • 主要介绍了DOS批处理高级教程 第四章 批处理中的变量,我把他分为两类,分别为系统变量和自定义变量,需要的朋友可以参考下
  • DOS批处理实现建立文件夹的代码题目:用DOS批处理实现建立文件夹要求:1要求建立文件名格式为"YYYY1-MM1-DD1至YYYY2-MM2-DD2"的文件夹2其中YYYY1-MM1-DD1是今天的日期;YYYY2-MM2-DD2是四天后的日期解答:复制代码 ...

    用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%相关阅读:

    给Function做的OOP扩展

    通过注册表修改Win7下远程桌面端口3389的设置方法

    SQL Server数据库开发10个问题

    javascript完美随机广告代码

    重置浏览器默认样式

    MySQL SQL 语法参考

    Linux系统下用Sopcast收看网络电视

    js跟随滚动条滚动浮动代码

    教你如何在SQL Server计算机列和平均值

    Pear DB 新手入门指南教程

    逐步提升php框架的性能

    整理优化你的CSS代码

    宿主机WindowsXP与虚拟机Linux之间Telnet

    用JavaScript玩转计算机图形学(二)基本光源

    展开全文
  • windows计算机批dos批处理命令大汇总,史上最全,用起来很方便,你离大神只差这本书,非常值得下载!
  • 批处理定义:顾名思义,批处理文件是将一系列命令按一定的顺序集合为一个可执行的文本文件,其扩展名为BAT或者CMD。这些命令统称批处理命令
  • DOS批处理高级教程.pdf

    2012-04-28 10:37:05
    DOS批处理高级教程.pdf

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 35,966
精华内容 14,386
关键字:

dos批处理