http://www.cnblogs.com/leizhao/archive/2013/03/07/2949026.html

1.rem和::

rem注释命令,该命令后的内容不被执行,但能回显

::注释命令,该命令后的内容不被执行,也不能被回显

2.echo

1)echo off 执行时,批处理所有的命令行都不显示,只显示执行后的结果

2)显示echo当前状态 打开或关闭

3)echo 信息内容    在后面显示该信息

4)输出空行 echo.   注意echo后不能跟空格

5)建立新文件或增加文件内容

格式:echo 文件内容>文件名

echo 文件内容>>文件名

3.pause 暂停

要显示其他提示语,可以这样用:

echo 其他提示语 & pause > nul

4.errorlevel 程序返回码

echo %errorlevel%

每个命令运行结束,可以用这个命令行格式查看返回码

用于判断刚才的命令是否执行成功

默认值为0,一般命令执行出错会设 errorlevel 为1

5.if

1)if [not] errorlevel number command

IF ERRORLEVEL这个句子必须放在某一个命令的后面,执行命令后由IF ERRORLEVEL 来判断命令的返回值

2) IF [NOT] string1==string2 command

string1和string2都为字符的数据,英文内字符的大小写将看作不同,这个条件中的等于号必须是两个(绝对相等的意思)

条件相等后即执行后面的command

3) IF [NOT] EXIST filename command

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

6.goto和:

goto  跳转命令

: 一个标签

goto到:命令行的位置

7.type

type 路径\文件名  内容显示在屏幕上或打印机输出

ex:c:\windows\system32\table.log

c:\windows\system32\table.log >prn

8.pushd和popd  切换目录

pushd 路径    切换为当前目录

popd   恢复到之前的目录

9.call  在批处理执行过程中调用另一个批处理

call command  参数

在批处理编程中,可以根据一定条件生成命令字符串,用call可以执行该字符串,

调用的其它批处理程序。filename 参数必须具有 .bat 或 .cmd 扩展名

CALL :label arguments

调用本文件内命令段,相当于子程序。被调用的命令段以标签:label开头

以命令goto :eof结尾

10.shift  更改批处理中可替换参数的位置

shift /n       n在零和八之间

ex:SHIFT /2

会将 %3 移位到 %2,将 %4 移位到 %3,等等;并且不影响 %0 和 %1

11.setlocal和变量延迟

为了更好的说明问题,我们先引入一个例子。

例1:

@echo off

set a=4

set a=5 & echo %a%

pause

结果:4

解说:为什么是4而不是5呢?在echo之前明明已经把变量a的值改成5了?

让我们先了解一下批处理运行命令的机制:

批处理读取命令时是按行读取的(另外例如for命令等,其后用一对圆括号闭合的所有语句也当作一行),在处理之前要完成必要的预处理工作,这其中就包括对该行命令中的变量赋值。我们现在分析一下例1,批处理在运行到这句“set a=5 & echo %a%”之前,先把这一句整句读取并做了预处理——对变量a赋了值,那么%a%当然就是4了!(没有为什么,批处理就是这样做的。)

而为了能够感知环境变量的动态变化,批处理设计了变量延迟。简单来说,在读取了一条完整的语句之后,不立即对该行的变量赋值,而会在某个单条语句执行之前再进行赋值,也就是说“延迟”了对变量的赋值。

那么如何开启变量延迟呢?变量延迟又需要注意什么呢?举个例子说明一下:

例2:

@echo off

setlocal enabledelayedexpansion

set a=4

set a=5 & echo !a!

pause

结果:5

解说:启动了变量延迟,得到了正确答案。变量延迟的启动语句是“setlocal enabledelayedexpansion”,并且变量要用一对叹号“!!”括起来(注意要用英文的叹号),否则就没有变量延迟的效果。

分析一下例2,首先“setlocal enabledelayedexpansion”开启变量延迟,然后“set a=4”先给变量a赋值为4,“set a=5 & echo !a!”这句是给变量a赋值为5并输出(由于启动了变量延迟,所以批处理能够感知到动态变化,即不是先给该行变量赋值,而是在运行过程中给变量赋值,因此此时a的值就是5了)。

12.find  搜索文件中的字符串

find /v 显示所有未包含指定字符串的行

/c 显示包含字符串的行数

/n 显示行号

“string”

13.dir 显示文件和文件夹

14.cls 清屏

15.title 修改cmd窗口标题

16.color 修改cmd窗口前景和背景颜色

color 0-9 A-F

前面未背景 后面为前景  默认color 07

17.ren 修改文件名字

ren [盘符:][路径]〈旧文件名〉〈新文件名〉

18.md 建立目录

MD[盘符:][路径名]〈子目录名〉

19.rd 删除目录

RD[盘符:][路径名][子目录名]

子目录中必须是空的

20.del 删除文件

DEL[盘符:][路径]〈文件名〉[/P]

使用说明: 
(1)选用/P参数,系统在删除前询问是否真要删除该文件,若不使用这个参数,则自动删除; 
(2)该命令不能删除属性为隐含或只读的文件; 
(3)在文件名称中可以使用通配符; 
(4)若要删除磁盘上的所有文件(DEL*·*或DEL·),则会提示:(Arey ou sure?)(你确定吗?)若回答Y,则进行删除,回答N,则取消此次删除作业

21.copy 复制文件夹

copy 源文件名 目标文件名

22.deltree 删除目标及其下所有文件和下级目录

DOS和批处理基本命令的更多相关文章

  1. dos下 批处理 用 pause 可以在最后暂停 查看结果信息 build.bat

    dos下 批处理 用 pause 可以在最后暂停 查看结果信息

  2. DOS与批处理

    cmd命令不区分大小写 d: cd .. cd 文件夹 dir dir 文件或文件夹 可执行文件(.exe, .bat., .com),只需进入文件当前目录并输入文件名(不需要后缀)即可执行, 如果将 ...

  3. DOS/BAT批处理if exist else 语句的几种用法

    在DOS批处理命令中常常会通过if语句来进行判断来执行下面的命令, 那么批处理if语句怎么用呢,下面学无忧小编就来说说有关批处理if以及if exist else语句的相关内容.一.批处理if书写格式 ...

  4. dos命令批处理发送文字到剪贴板

     方法一(推荐): echo 要发送到剪贴板的字 | clip   方法二: @echo off::显示要发送的文字重定向到windows临时文件夹下echo 要发送到剪贴板的字>%system ...

  5. DOS批处理脚本

    先概述一下批处理是个什么东东.批处理的定义,至今我也没能给出一个合适的----众多高手们也都没给出----反正我不知道----看了我也不一定信服----我是个菜鸟,当然就更不用说了:但我想总结出一个“ ...

  6. Windows 批处理(bat)语法大全

    本文是学习bat整理的笔记,由于内容较多,建议结合右侧文章大纲查看. %~dp0[获取当前路径] %~dp0 “d”为Drive的缩写,即为驱动器,磁盘.“p”为Path缩写,即为路径,目录 cd % ...

  7. windows bat批处理基础命令学习教程(转载)

    一.基础语法: 1.批处理文件是一个“.bat”结尾的文本文件,这个文件的每一行都是一条DOS命令.可以使用任何文本文件编辑工具创建和修改.2.批处理是一种简单的程序,可以用 if 和 goto 来控 ...

  8. BATCH(BAT批处理命令语法)

    bat语法备忘扩展名是bat(在nt/2000/xp/2003下也可以是cmd)的文件就是批处理文件[@more@] bat语法备忘扩展名是bat(在nt/2000/xp/2003下也可以是cmd)的 ...

  9. BAT批处理(一)

    本文摘自博文<BAT批处理文件教程> 这是一篇技术教程,我会用很简单的文字表达清楚自己的意思,只要你识字就能看懂,就能学到知识.写这篇教程的目的,是让每一个看过这些文字的朋友记住一句话:如 ...

随机推荐

  1. 原生和web交互jsbridge交互总结

    技术点:jsbridge. 一: 参数及其意义(代码意义结合支付项目) 二:主动请求原生参数与方法(sendapi) 参数1 判断接口类型 参数2 传递给原生的数据 参数3 回调函数,response ...

  2. Linux中处理字符串

    获取字符串长度: ${#字符串变量名} 截取子串: 1. expr substr 字符串 起始位置 截取长度 2. 命令输出 | cut -c 起始位置-结束位置 命令输出 | cut -c &quo ...

  3. (转贴)fusionCharts属性参考API

    一.FusionCharts的分类 关于FusionCharts的基本介绍我就不在这里浪费篇幅了,想了解的朋友自己去www.baigoogedu.com里面找吧.我就说说FusionCharts的官方 ...

  4. 视频基础知识:浅谈视频会议中H.264编码标准的技术发展

    浅谈视频会议中H.264编码标准的技术发展 浅谈视频会议中H.264编码标准的技术发展 数字视频技术广泛应用于通信.计算机.广播电视等领域,带来了会议电视.可视电话及数字电视.媒体存储等一系列应用,促 ...

  5. Django框架之models和不依赖Qquery的ajax请求

    一.models表字段 1)class表字段的创建 AutoField(Field) - int自增列,必须填入参数 primary_key=True BigAutoField(AutoField) ...

  6. mysql数据库的安装和基本使用

    一.数据库安装配置 1)数据库的概念 .数据库相关概念 数据库服务器(本质就是一个台计算机,该计算机之上安装有数据库管理软件的服务端) 数据库管理管理系统RDBMS(本质就是一个C/S架构的套接字软件 ...

  7. 通用Mapper

    原理是:拦截器 1.假设:使用MyBatis只需要定义Mapper接口,无需编写Mapper.xml文件 如果实现无需编写Mapper.xml文件,我们必须要实现动态拼接SQL 如何实现动态拼接SQL ...

  8. sqlserver中如何将mdf文件还原到数据库

  9. Query - noConflict() 方法

    ps:菜鸟教程 如何在页面上同时使用 jQuery 和其他框架? noConflict() 方法会释放对 $ 标识符的控制,这样其他脚本就可以使用它了. 当然,您仍然可以通过全名替代简写的方式来使用 ...

  10. .Net 导出Excel时设置单元格的格式为文本类型

    <td style= 'vnd.ms-excel.numberformat:@ ' align='right'>" & Format(Val(rowTitle.Item( ...