![e08be3604f2c75d479841fe2b647402c.png](https://i-blog.csdnimg.cn/blog_migrate/8177fa309b88bba8e9ea88ae27dc3807.jpeg)
学习要点:
1。显示信息:echo
2。注释语句:rem
3。目录切换:cd
4。列文件名:dir
---------------------------------
一、显示信息:echo
![f7c5ff416a0e671d6bac9fefc90dc13f.png](https://i-blog.csdnimg.cn/blog_migrate/e3922fbeef5f22ca97c2333e7d5f6514.jpeg)
在学习echo命令前我们先在桌面新建一个TXT文本文件,打开并另存为test.bat,保存类型为“所有文件”。下面点击右键开始编辑
- 输出提示信息
格式:echo 你要输出的信息
例1
echo hello,worldecho i will come backpause
执行显示:
![a1522fd142bbc0d0758f584ea1539197.png](https://i-blog.csdnimg.cn/blog_migrate/8b2d151f09a332d27fef4324b1cf61b8.jpeg)
我们写的批处理,能不能让它不显示我们到底写了什么命令?OK!那我们就来学习echo的第二种用法!
2.关闭该命令的回显
格式:@ 放在命令前面
例2
@echo hello,world@echo i will come backpause
执行显示:
![ec9f2c73b1e19344396260e45ab7b545.png](https://i-blog.csdnimg.cn/blog_migrate/9d3e895fbe31048a25b0729b8d557ee7.jpeg)
3.打开回显或关闭回显功能
格式:echo [{ on|off }]
解释一下,如果在批处命令前加上echo off,那么将会关闭批处中的命令回显。当然啦,你要是不想显示echo off命令本身,你可以把@加在echo off前面。
例3
@echo offecho hello,worldecho i will come backpause
执行显示:
![82b2a21727cbd8010e346ba7510f6118.png](https://i-blog.csdnimg.cn/blog_migrate/29c8436f070de1b3802df555d0b30be9.jpeg)
在批处理前面加上@echo off ,它将使所有命令不再显示命令本身,当然也包括了echo off 命令本身也不会回显了。
4.输出空行,即相当于输入一个回车
格式:echo.
注意命令中的“.”要紧跟在ECHO后面,中间不能有空格,否则“.”将被当作提示信息输出到屏幕。另外“.”可以用,:;”/]+ 这些任一符号替代。
例4
@echo offecho 我在写批处理教程哦!echo.echo 你看到上面有空一行么?pause
执行显示:
![56d6f1dc61b151fdb04e1b66ad0a6854.png](https://i-blog.csdnimg.cn/blog_migrate/970f5f73ce6825821372e4fb558e6505.jpeg)
命令ECHO.输出的回车,经DOS管道转向可以作为其它命令的输入,比如echo.|time即相当于在TIME命令执行后给出一个回车。所以执行时系统会在显示当前时间后,自动返回到DOS提示符状态。
5.答复命令中的提问
格式:ECHO 回复|命令表达式
作用:通过管道命令 | 把“回复”作为输入传导给后面的“命令表达式”,并作为“命令表达式”的输入。(注
意,管道命令|的输入方法,shift键 )
例5
@echo offrd /s c:abcpause
执行显示:
![eca068c6a9f1707c508c0075919ac196.png](https://i-blog.csdnimg.cn/blog_migrate/2f247201d62c2d22c4027cc1b696108d.jpeg)
解释一下,这里abc是一个不为空的文件夹,用rd 命令删除时它将会询问你Y或N,这时你就要手动的输入Y/N了。
OK,我们把批处改一下,这时系统将会自动帮助我们把Y输入确认了
例6
@echo offecho Y|rd /s c:abcpause
执行显示:
![ad42cef7635a32d8c1bc3cffdd6cc4ac.png](https://i-blog.csdnimg.cn/blog_migrate/9715ffcd8b38e008ac0469b1b09d5190.jpeg)
6.建立新文件或增加文件内容
格式:echo 文件内容>文件名
例7
@echo offecho 123>myfile.txtpause
这样我们就在当前目录下建立了一个myfile.txt文件,文件的内容为123。如果你想要建立一个空的新文件。
执行显示:
![83850b426d282cdc746e96a42a3e8a50.png](https://i-blog.csdnimg.cn/blog_migrate/8853bc9acb41ad40c822a7663bcf3656.jpeg)
例8
@echo offecho. >myfile.txtpause
注:上面所有实例中的pause是暂停命令,主要是用来暂停演示给大家看的,哈哈!!
---------------------------------
二、注释语句:rem
![07e247f124718fea799daf62f9233374.png](https://i-blog.csdnimg.cn/blog_migrate/761cbfff6d077bc93be96f3ae02689d4.jpeg)
rem 为注释命令,一般用来给程序加上注解,该命令后的内容不被执行,但能回显。
例1
@echo offecho 这是例1哦!rem 上面的echo 语句用于显示提示。pause
![b48b8e60605a0bbbc5909f37402873c5.png](https://i-blog.csdnimg.cn/blog_migrate/9737249a4f3ddc51b684f8b7be700f5e.jpeg)
另外 :: 也可以起到 rem 的注释作用, 而且更简洁有效; 但有两点需要注意!
第一, 任何以冒号:开头的字符行,在批处理中都被视作标号, 而直接忽略其后的所有内容。
有效标号:冒号后紧跟一个以字母数字开头的字符串,goto 语句可以识别。
无效标号:冒号后紧跟一个非字母数字的一个特殊符号,goto 无法识别的标号,可以起到注释
作用,所以 :: 常被用作注释符号,其实 : 也可起注释作用。
例2
@echo offecho 这是例2哦!::上面的echo 语句用于显示提示。pause
![6c6f33c275d4a760d62a12430ea8b450.png](https://i-blog.csdnimg.cn/blog_migrate/a9fb3b890b1f1aa96d87edb402eb227e.jpeg)
第二, 与 rem 不同的是, :: 后的字符行在执行时不会回显, 无论是否用echo on 打开命令行回显状态,
因为命令解释器不认为它是一个有效的命令行, 就此点来看, rem 在某些场合下
将比 :: 更为适用; 另外, rem 可以用于 config.sys 文件中。
---------------------------------
三、目录切换:cd
![03d349502bd0c2dcf8d5ba727eea5941.png](https://i-blog.csdnimg.cn/blog_migrate/92c63b6dd905517accfae4857d93e661.jpeg)
1.同一个分区的切换
目录切换格式:CD [盘符][路径]
如果当前目录是C:甥敳獲hankezhijiaDesktop,我们要切换到同一分区下不同的目录,请看下面的例子。(注:下面例子中的>表示命令行下的提示符,>前面的表示当前目录。)
例1
切换到C:WINDOWS目录
C:甥敳獲hankezhijiaDesktop>
cd C:WINDOWS
![48ddd9b4de08248149e0b5c8cd05f84c.png](https://i-blog.csdnimg.cn/blog_migrate/35c01d009cd71428d52ecfcc5531b57d.jpeg)
例2
切换到C:WINDOWSsystem32目录
C:甥敳獲hankezhijiaDesktop>
cd C:WINDOWSsystem32
![66d91a847257445e5ea426747110d4df.png](https://i-blog.csdnimg.cn/blog_migrate/16e32a73377e1517d73e6986d28fa81e.jpeg)
如果当前目录是C:甥敳獲hankezhijiaDesktop,我们要返回到上一层目录,即返回到C:甥敳獲hankezhijia时,我们可以这样:
例3
C:甥敳獲hankezhijiaDesktop>
cd..
![bf025a252e6dd8363daec33fd6ee7b8f.png](https://i-blog.csdnimg.cn/blog_migrate/bf0db999aef9ece977f4208c3db60373.jpeg)
在这里,cd..是不是简单了很多?呵呵!当然了,你也可以cd C:WINDOWS
如果当前目录是C:甥敳獲hankezhijiaDesktop,我们要返回根目录,即返回到C:时,你可以试下这个:
例4
C:WINDOWSsystem32>
cd
![9510f7f9432af0ef075e4a84ca722f52.png](https://i-blog.csdnimg.cn/blog_migrate/08dbcac3dc0c56bc2a4031bd1369744f.jpeg)
在这里返回根目录时,我们用的是cd命令,当然你也是可以cd c:
其实在DOS命令中“.”、“..”和“”都是表示相对路径的,“.”是当前目录,“..”是上一层目录,而“”则表示根目录。
2.不同分区的切换
格式:CD /d [盘符][路径]
如果当前目录是C:甥敳獲hankezhijiaDesktop,我们需要切换到其它分区目录,请看:
例1
切换到D:123abc
C:甥敳獲hankezhijiaDesktop>
cd /d d:123abc
![8bf7157656567f8986687e4a2e610151.png](https://i-blog.csdnimg.cn/blog_migrate/c94ff7d63d9e440e18a926372be06aac.jpeg)
如果我们要切换到D盘的根目录,则有更简单的方法,请看:
例2
C:甥敳獲hankezhijiaDesktop>
D:
![2cb45cfbd7973be10768067db35c5bc1.png](https://i-blog.csdnimg.cn/blog_migrate/7cb752656fce49e71cf510bd425b8a4b.jpeg)
在这里,我们直接输入驱动器号 冒号,就可以切换到它的根目录。
3.CD 的另一个用途:显示当前的完整路径,一般用通过 %cd% 加以引用。
例1
@echo offecho 当前路径是 %cd%pause
![dbca1143213264fa12ce9b0a016cea9b.png](https://i-blog.csdnimg.cn/blog_migrate/387ffc16840f3317302c479aafe627cb.jpeg)
执行显示的是当前的完整路径。
---------------------------------
四、列文件名:dir
![246bccff53bb94c043a05bb7f5613a91.png](https://i-blog.csdnimg.cn/blog_migrate/dcc9c7f7846115c5171d265bf6918372.jpeg)
显示目录中的文件和子目录列表。
DIR [drive:][path][filename] [/A[[:]attributes]] [/B] [/C] [/D] [/L] [/N][/O[[:]sortorder]] [/P] [/Q] [/S] [/T[[:]timefield]] [/W] [/X] [/4][drive:][path][filename] 指定要列出的驱动器、目录和/或文件。
/A 显示具有指定属性的文件。
attributes D 目录 R 只读文件
H 隐藏文件 A 准备存档的文件
S 系统文件 - 表示“否”的前缀
/B 使用空格式(没有标题信息或摘要)。
/C 在文件大小中显示千位数分隔符。这是默认值。用 /-C 来停用分隔符显示。
/D 跟宽式相同,但文件是按栏分类列出的。
/L 用小写。
/N 新的长列表格式,其中文件名在最右边。
/O 用分类顺序列出文件。
sortorder N 按名称(字母顺序) S 按大小(从小到大)
E 按扩展名(字母顺序) D 按日期/时间(从先到后)
G 组目录优先 - 颠倒顺序的前缀
/P 在每个信息屏幕后暂停。
/Q 显示文件所有者。
/S 显示指定目录和所有子目录中的文件。
/T 控制显示或用来分类的时间字符域。
timefield C 创建时间
A 上次访问时间
W 上次写入的时间
/W 用宽列表格式。
/X 显示为非 8dot3 文件名产生的短名称。格式是 /N 的格式,
短名称插在长名称前面。如果没有短名称,在其位置则显示空白。
/4 用四位数字显示年
关于dir命令比较多,看到上面一大堆的参数头都晕了,呵呵~ 在这里我们学习一些常用的就OK了~
1.列出c:AMD下的目录及文件
格式:DIR [drive:][path][filename]
例1
dir c:AMD
![1be14ad273b201d14406085ba9d5e037.png](https://i-blog.csdnimg.cn/blog_migrate/4293a31e5a7e2500f937eb9b6c4353d6.jpeg)
这种方法有明显的缺点——当列表中的目录及文件过多时就无法完全显示,我们将通过/p参数解决这个问题。
/P 在每个信息屏幕后暂停。
例2
dir /p c:windows
![5bfe29dcbe65f562e9239e409c437e0d.png](https://i-blog.csdnimg.cn/blog_migrate/958dd16010de42ab02350654948954fe.jpeg)
我们在命令最后加上一个参数“/p”(即“page”页的缩写),列文件时就会使用分页显示的方式,即列出一屏的目录及文件后,提示“按任意键继续...”,按任意键后则显示下一屏。这样就可以逐屏查看了!
/B 使用空格式(没有标题信息或摘要)。
例3
dir /b c:
![b46b58cf91a5d7b1da3f789d529204eb.png](https://i-blog.csdnimg.cn/blog_migrate/47fcd1fc303be7ca552c0953b27ae354.jpeg)
我们在查看时,发现列出来的文件都带有日期,时间,创建者等信息,我们可以在命令后加上/b参数,让它只列出文件名称。
---------------------------------
2.列出c:下指定属性的文件
格式:DIR /a: attributes (这里的:号可以省略)
attributes D 目录 R 只读文件
H 隐藏文件 A 准备存档的文件
S 系统文件 - 表示“否”的前缀
例1
dir /a c:
![08a0aece83529bdf3690937eb388a6b3.png](https://i-blog.csdnimg.cn/blog_migrate/de3979aa05999d78e8587cdb8734d680.jpeg)
列出C:下所有的文件
例2
dir /ah c:
![1e240513ed64519c7ae36ca5328cde79.png](https://i-blog.csdnimg.cn/blog_migrate/57e5c6724fda43386a7b3394e38d647a.jpeg)
列出隐含的文件(包含文件和文件夹)
例3
dir /ad c:
![4d6e5395e468682e01c0ef9be4e73d77.png](https://i-blog.csdnimg.cn/blog_migrate/23e80240022b360889bbf947aadd5ca4.jpeg)
列出C:下所有的文件夹
例4
dir /ad-h c:
![df091c5c34878b7022e45522dd304077.png](https://i-blog.csdnimg.cn/blog_migrate/183cbd398736ead5a0b586f199328f06.jpeg)
列出C:下所有的文件夹,但不包含隐含的文件夹
3.按分类列出c:下的文件
格式:DIR /o: sortorder (这里的:号可以省略)
sortorder N 按名称(字母顺序) S 按大小(从小到大)
E 按扩展名(字母顺序) D 按日期/时间(从先到后)
G 组目录优先 - 颠倒顺序的前缀
例1
dir /on c:
![f012d0d7ba5acf778d597fec194239ee.png](https://i-blog.csdnimg.cn/blog_migrate/9c37db46eddf9a39448482f58eae5c1c.jpeg)
/o:排序方式 参数指定了dir命令显示命令结果时的排序方式,排序方式设为“n”即代表按照文件名的字母顺序排列
(从A~Z,以此类推)。
例2
dir /ogn c:
![1bfed767570b772dc6cef20e60b40ac9.png](https://i-blog.csdnimg.cn/blog_migrate/8d388dd5ff7c69196aefc62f133df93d.jpeg)
优先列出文件夹,并且文件夹和文件都按字母顺序排列。
★“/o”和“/a”都可以省略其后的冒号“:”,但之间不能留有空格。如“/o:n”省略后的形式应为“/on”。
#dos命令#