.bat批处理一些常见命令

一、什么是批处理文件?
批处理文件(BATCHFILE,简称 BAT文件)是一种在DOS 下最常用的可执行文件。它具有灵活的操纵性,可适应各种复杂的计算机操作(指在DOS下)。所谓的批处理,就是按规定的顺序自动执行若干个指定的DOS命令或程序。即是把原来一个一个执行的命令汇总起来,成批的执行。

二、bat常用命令 

echo、@、call、pause、rem是批处理文件最常用的几个命令,我们就从他们开始学起。 

1.Echo表示显示此命令后的字符;

作用    显示或隐藏屏幕显示,在屏幕上显示文本信息。
使用方法    ECHO ON | OFF    使整个屏幕显示或不显示 

2.echo off表示在此语句后所有运行的命令都不显示命令行本身。

3.@ 与echo off相象,但它是加在其它命令行的最前面,表示运行时不显示命令行本身。 

@使一句语句不在屏幕上显示

例:@echo off    ( 使整个屏幕不显示,包括该语句本身)
例:echo 这句话将显示在屏幕上
4.call调用另一条批处理文件(如果直接调用别的批处理文件 ,执行完那条文件后将无法执行当前文件后续命令); 

5.pause运行此句会暂停,显示Press any key to continue... 等待用户按任意键后继续;  作用 暂停命令的执行,主要用于BAT 的调试阶段。暂停时可按ctrl+break 或ctrl+c 来停止 BAT 的执行。 

使用方法    PAUSE
例:PAUSE [文本信息]    (暂停并显示文本信息)

6.rem表示此命令后的字符为解释行,不执行,只是给自己今后查找用的; 

  作用    给命令加上注释,使一句语句失去作用
使用方法    REM [ 注释语句] 
例:REM DEL*.*    (不执行删除命令) 

7.%0-%9批处理参数

作用 代替命令中的参数
使用方法    <命令名> [批处理参数1] [批处理参数2]··· 
    例:有批处理文件名为GO。BAT,清单如下
    @echo off
    echo this is a demo bat
   cd %1


    当键入文件名及参数c:\时    go c:\
    则效果等同于 cd c:\

8.:::

  作用 它是注释命令,在批处理脚本中和rem命令等效。它后面的内容在执行时不显示,也不起任何作用,因为它只是注释,只是增加了脚本的可读性,和C语言中的/*.......*/类似。地球人都能看懂,就不多说了。 

9.SHIFT
作用    更新批处理参数所代替的命令参数,每运行一次,命令参数前移一位。
使用方法    shift
  例:有批处理文件名为DEMO。BAT,清单如下:
  @echo off
  if "%1"="" goto end    (有关if 语句,参见下文)
  rem 判断%1所代表的是否为空,为空则转到 end 语句
  dir %1
Shift
: end


当键入    demo a: b: c: d: 时,效果为列 A、B、C、D 四个磁盘的目录
10.GOTO
作用    转到指定段。
使用方法    goto    <段名>
例:goto start    (转到 start 段,其中start为段名,须加":"以便和命令名相区别。)
11.IF
作用    用于条件判断
  使用方法    1. IF[NOT] EXIST <文件名> <命令>
2. IF [NOT] <字符串1 >=<字符串2>
3. IF ERRORLEVEL (N) <命令>
作用    1.如果(不)存在所选文件则执行所带命令
2.如果字符串1(不)等于字符串2,则执行所带命令
3.如果命令执行后的错误等级码是(不是)N, 那么执行所带命令。
例: 1.if exist demo.bat echo this is a demo (如果demo.bat 文件存在,显示 this is a demo)
2.if "x"="1" echo the answer is right (如果x=1,显示 the answer is right)
3.if errorlevel 2 echo good luck    (如果错误码为2,显示 good luck)
12.FOR
作用 用一个临时参数代替括号中的对象
使用方法 for <%%参数名> in <(对象1、对象2···)> do <命令>
例:for %% d in (a: b: ) do format %%d (效果等同于格式化A盘和B盘)
13.SET
作用 设置环境变量
使用方法set <变量名>=<对象>
例:set ff=45 (使变量ff的值为45)
14.CHOICE
作用 为进行交互式选择提供手段。
使用方法choice [/c:字母] [/n ] [/s ] [/t: 字母,秒数] [说明信息]

[/c:/字母] :指定那些字母用于选择操作,每个字母之间用逗号隔开。缺省为y,n
[/n] :不显示供选择的字母
[/s:] :对输入的字母区分大小写
[/t: 字母,秒数] :限定选择所用的秒数(0-99)过时则以指定的字母作为选择
[说明信息] :显示其后的信息用于说明
choice 和 if 的第三种用法可配合使用,具体方法是,当你选第一个字母时,errorlevel 为1,第二个为二···
例: choice [/c: a,b,c]
if errorlevel 3 echo your choice is c
if errorlevel 2 echo your choice is b
if errorlevel 1 echo your choice is a

三、批处理BAT命令详解 -- shift

批处理文件中可引用的参数为%0~%9, %0是指批处理文件的本身,也可以说是一个外部命令;%1~%9是批处理参数,也称形参;而替换形参的实参若超过了批处理文件中所规定数值(9个)且想在批处理文件中应用这些实参的话,shift命令可以帮你实现! 

Shift 命令:更改批处理文件中可替换参数的位置 

C代码

shift [/n]  

n 的取值是[0,8],且为整数;[/n]为可选参数,当赋予n某个值时,就意味着命令从第n个参数开始移位;当n赋予的值为0,1或不带有任何命令选项的 shift时,则表示批处理文件中替换参数左移一个位置,后面的替换参数陆续填补上去,直至可替换参数为空。 


eg: 创建批处理文件d:\test.bat;

C代码

@echo off   

cls   

echo   %1 %2 %3 %4 %5 %6 %7 %8 %9   

shift /0   

echo   %1 %2 %3 %4 %5 %6 %7 %8 %9   

shift /1   

echo   %1 %2 %3 %4 %5 %6 %7 %8 %9   

shift /2   

10 echo   %1 %2 %3 %4 %5 %6 %7 %8 %9   

11 shift /3   

12 echo   %1 %2 %3 %4 %5 %6 %7 %8 %9   

13 shift /4   

14 echo   %1 %2 %3 %4 %5 %6 %7 %8 %9   

15 shift /5   

16 echo   %1 %2 %3 %4 %5 %6 %7 %8 %9   

17 shift /6   

18 echo   %1 %2 %3 %4 %5 %6 %7 %8 %9   

19 shift /7   

20 echo   %1 %2 %3 %4 %5 %6 %7 %8 %9   

21 shift /8   

22 echo   %1 %2 %3 %4 %5 %6 %7 %8 %9   

23 pause 1>nul  


然后在命令提示符d:\下输入test 1 2 3 4 ......17显示执行结果,就知晓其中的规律啦!

C代码

24 D:\>test 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17   

25   

26 1 2 3 4 5 6 7 8 9   

27 2 3 4 5 6 7 8 9 10   

28 3 4 5 6 7 8 9 10 11   

29 3 5 6 7 8 9 10 11 12   

30 3 5 7 8 9 10 11 12 13   

31 3 5 7 9 10 11 12 13 14   

32 3 5 7 9 11 12 13 14 15   

33 3 5 7 9 11 13 14 15 16   

34 3 5 7 9 11 13 15 16 17   

35 3 5 7 9 11 13 15 17

四、批 处理BAT命令及外部命令

  1dir

  含义:显示指定路径上所有文件或目录的信息

  格式:dir [盘符:][路径][文件名] [参数]

  参数:

  /w:宽屏显示,一排显示5个文件名,而不会显示修改时间,文件大小等信息;

  /p:分页显示,当屏幕无法将信息完全显示时,可使用其进行分页显示;

  /a:显示具有特殊属性的文件;

  /s:显示当前目录及其子目录rd下所有的文件。

  举例:dir /p

  将分屏显示当前目录下文件。在当前屏最后有一个“press any key to continue . . .”提示,表示按任意键继续。

  2cd

  含义:进入指定目录

  格式:cd [路径]

  举例:cd dos

  cd命令只能进入当前盘符中的目录,其中“cd\”为返回到根目录,“cd..”为返回到上一层目录。

  3md

  含义:建立目录

  格式:md [盘符][路径]

  举例:md temp

  表示在当前盘符下建立一个名为temp的目录。

  4rd

  含义:删除目录

  格式:rd [盘符][路径]

  举例:rd temp

  表示删除当前路径下的temp目录,需要注意的是,此命令只能删除空目录。

  5copy

  含义:拷贝文件

  格式:copy [源目录或文件] [目的目录或文件]

  举例1copy c:\*.com d:\",表示将c盘根目录下所有扩展名为com的文件拷贝到d盘根目录中。

  举例2copy c:\autoexec.bat c:\autoexec.bak

  表示将autoexec.bat文件复制成为扩展名为bak的文件。输入dir命令,可以发现此变化。

  6del 

  含义:删除文件

  格式:del [盘符][路径][文件名] [参数]

  举例:del c:\ *.bak /p

  表示删除当前目录下所有扩展名为bak的文件,参数/p表示可以使用户在删除多个文件时对每个文件都显示删除询问。

  7sys

  含义:传递系统文件命令。 格式:sys [源盘符][目的盘符]

 举例:sys c: a:

  此命令将为a盘传送系统,传送成功后,a盘将成为系统启动盘。

 

 

常用的外部命令

  dos的外部命令就是一些应用程序,这些外部命令都是以文件的形式存在,windows系统的dos外部命令保存在windows主目录下的command目录中。下面来介绍几个常用的dos外部命令。

  1edit

 含义:简单的编辑软件,可以用它来编辑一些程序和批处理文件。

  格式:edit [盘符][文件名]

  举例:edit c:\autoexec.bat

  输入此命令后将打开编辑器。在编辑状态下输入文件内容后,按alt+f键激活file菜单,按向下的箭头选择退出(exit),提示是否要保存刚才输入的内容,如果要保存,只需输入y或者直接回车即可。

  2format

  含义:格式化命令,可以完成对软盘和硬盘的格式化操作。

  格式:format [盘符] [参数]

  举例:format a: /s/q

  此命令将格式化a盘,其中参数/q表示进行快速格式化,/s表示完成格式化后将系统引导文件拷贝到该磁盘,这样软件就可以作为dos系统启动盘了。格式化过程中,屏幕上会显示已经完成的百分比。格式化完成后,会提示为磁盘起一个名字,最后还会报告磁盘的总空间和可利用空间等。

  3xcopy

  含义:拷贝命令

  格式:xcopy [源路径][源目录/文件名] [目的目录/文件名] [参数]

  举例:xcopy c:\abc d:\ /s

  执行此命令后,将把c:\abc目录及其目录中的文件全部拷贝到d盘根目录下,xcopycopy的增强命令,可以实现对多个子目录进行拷贝。最常用的参数是/s,它可以对一个目录下的所有子目录进行拷贝。

  4deltree

  含义:删除目录树

  格式:deltree [盘符][路径]  举例:deltree are

  表示删除当前路径下的are子目录,执行后会提示是否确认删除,按下y,即可删除。

 

 

<a name="dos命令">dos命令</a>

  <a href="#目录操作类">目录操作类命令</a>

  <a href="#磁盘操作类">磁盘操作类命令</a>

  <a href="#文件操作类">文件操作类命令</a>

  <a href="#其它命令">其它命令</a>

  dos命令大全

  注意! dos命令不区分大小写,比如C盘的Program Files,在dos命令中完全可以用"program files"代替,加上英文引号是因为名称的中间有空格(即多于一个词),这一点是初学者经常忽略的。

  <a name="目录操作类">目录操作类命令</a>

  (一)md——建立子目录

  1.功能:创建新的子目录 

  2.类型:内部命令 

  3.格式:md[盘符:][路径名]〈子目录名〉 

  4.使用说明: 

  (1)“盘符”:指定要建立子目录的磁盘驱动器字母,若省略,则为当前驱动器; 

  (2)“路径名”:要建立的子目录的上级目录名,若缺省则建在当前目录下。 

  例:(1)在c盘的根目录下创建名为fox的子目录;(2)在fox子目录下再创建user子目录。 

  c\md fox (在当前驱动器c盘下创建子目录fox) 

  c\md fox \user (在fox 子目录下再创建user子目录) 

  (二)cd——改变当前目录 

  1.功能:显示当前目录 

  2.类型:内部命令 

  3.格式:cd[盘符:][路径名][子目录名]

  4.使用说明: 

  (1)如果省略路径和子目录名则显示当前目录; 

  (2)如采用“cd\”格式,则退回到根目录; 

  (3)如采用“cd..”格式则退回到上一级目录。 

  例:(1)进入到user子目录;(2)从user子目录退回到子目录;(3)返回到根目录。 

  c:\cd fox\user(进入fox子目录下的user子目录) 

  c:\fox\usercd.. (退回上一级根目录,注意cd后面跟着两个点"..")。 

  c\foxcd\ (返回到根目录)

  c:\

  (三)rd——删除子目录命令 

  1.功能:从指定的磁盘删除了目录。 

  2.类型:内部命令 

  3.格式:rd[盘符:][路径名][子目录名]

  4.使用说明: 

  (1)子目录在删除前必须是空的,也就是说需要先进入该子目录,使用del(删除文件的命令)将其子目录下的文件删空,然后再退回到上一级目录,用rd命令删除该了目录本身; 

  (2)不能删除根目录和当前目录。 

  例:要求把cfox子目录下的user子目录删除,操作如下: 

  第一步:先将user子目录下的文件删空; 

  c\del c\fox\user\*.* 或 del c:\fox\user 或 del c:\fox\user\*

  (:这样只能删除文件,仍然不能删除user目录下的文件夹)

  第二步,删除user子目录。 

  c\rd c:\fox\user

  (:如果fox\user文件夹下仍有文件夹,这一步将不会奏效,怎样解决呢?其实不必劳烦两步,直接这样 c\>rd c:\fox\user /s

  加上了一个参数/s,如果不想让系统询问是否删除,可以再加一个参数 /p

  (四)dir——显示磁盘目录命令 

  1.功能:显示磁盘目录的内容。 

  2.类型:内部命令 

  3.格式:dir [盘符][路径][/p][/w]

  4.使用说明:/p的使用;当欲查看的目录太多,无法在一屏显示完屏幕会一直往上卷,不容易看清,加上/p参数后,屏幕上会分面一次显示23行的文件信息,然后暂停,并提示;press any key to continue

  /w的使用:加上/w只显示文件名,至于文件大小及建立的日期和时间则都省略。加上参数后,每行可以显示五个文件名。 

  (五)path——路径设置命令 

  1.功能:设备可执行文件的搜索路径,只对文件有效。 

  2.类型:内部命令 

  3.格式:path[盘符1]目录[路径名1]{[;盘符2],〈目录路径名2〉…}

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值