dos批处理基础
Dos命令进阶(三)---批处理(上)
Dos命令进阶(三)---批处理(上)批处理脚本讲解思路一. 批处理介绍1、批处理的概述:批处理,也称为批处理脚本,英文译为BATCH,批处理文件后缀BAT就取的前三个字母。
它的构成没有固定格式,只要遵守以下这条就ok了:(1)每一行可视为一个命令,(2)每个命令里可以含多条子命令,(3)从第一行开始执行,直到最后一行结束,它运行的平台是DOS。
批处理有一个很鲜明的特点:使用方便、灵活,功能强大,自动化程度高。
批处理文件的扩展名是BAT或者CMD,把任何一批命令放在有该扩展名的文件里,执行的时候都会按顺序逐条的执行, 在以后学习内容中, 还可以在其中加入一些逻辑判断的语句,即让里面的命令在满足一定条件时执行指定的命令。
2、举例说明:第一步:建立批处理文件新建一个文本文档,将名字改为第一个实例.bat创建批处理文件第一个实例.bat重命名第二步:写代码右键'第一个实例.bat'文件,选中“编辑”,然后写代码。
代码如下:@echo offecho 非常感谢所有条友的关注与支持!echo 感激不已, 惟有认真, 毫无保留的分享.pause编辑批处理脚本第三步:保存后,双击“第一个实例.bat”运行。
执行批处理脚本简单了解代码意思:@echo off 这一句是关闭回显(缺省回显是打开的),如果没有这一句的话会显示一些比较碍眼的信息。
echo 非常感谢所有条友的关注与支持!echo 感激不已, 惟有认真, 毫无保留的分享.上面两条指令的结果是在屏幕上打印echo后面的内容(如上图例脚本执行的结果)pause 这个pause,英文是暂停的意思,让脚本执行完上面的命令后等用户确认退出详细解释:(1)、echo off 关闭回显(即批处理中的命令语句不会显示)(2)、echo on 打开回显编辑中去除关闭回显的指令行开启回显执行的结果在CMD中解释一下回显是咋个意思(3)、符号“@”的意思是不显示它后面的命令语句,只显示命令执行的结果!把首行命令中的小老鼠符号去掉看看(4)、echo 用于显示echo命令的作用有两个,一个时在CMD上显示一行内容,如:echo 非常感谢所有条友的关注与支持!!还有一个是显示关闭命令的回显:echo off我们在echo off命令前加一个“@”符号是为了不让echo off这条命令本身显示出来,可以让批处理达到整体的美观!如测试以下代码:@echo offecho 你好echo 你好pause第二个实例再次解释一下:pause命令就是暂停的意思,防止批处理执行完毕后直接退出,执行到pause命令时CMD就会显示“请按任意键继续”这一行!3、基础知识补充前面几篇基础知识的链接:DOS基础命令汇总(一)DOS基础命令汇总(二,三,四,五)Dos命令进阶(一)---Net, NetstatDos 命令进阶(二)---FTP命令如果大家对那个DOS命令不明白,可以通过输入“命令”/? 或执行 'help 命令名'4、具体实例分析@echo offecho 正在清除系统垃圾文件,请稍后。
DOS批处理编程原理
报告人: 日期:
目录
DOS概述 DOS批处理的基本语法 DOS批处理命令 DOS批处理编程方法
DOS概述
DOS(Disk Operating System)是一种面向磁盘的操作系 统软件。是人与机器的一座桥梁,是设在机器硬件里面的一 套人机交互系统。有了DOS,我们就不必去深入了解机器 的硬件结构,也不必去死记硬背那些枯燥的机器命令。
核 Boot系统引导程序 心 启 IO.SYS 动 MSDOS.SYS 程 序 CONFIG.SYS
基于MBR(Main Boot Record)的BOOT引导程序
DOS环境控制输入输出的文件,不可以少 DOS的组成 里面是一些启动参数,如:开机时是否显示菜单、开
机时进行磁盘扫描、开机时是否显示LOGO 一个专业的系统启动配置文件,它主要用于加载内存 管理程序、设置扩充内存及扩展内存、加载有关硬件 驱动程序,设置有关环境变量等,为用户计算机的正 常使用创造必要的用户环境 DOS内部命令的程序代码存放在command. com文 件中,它在DOS系统启动的时候随DOS的启动模块 一起被调入计算机内存。
DOS批处理命令
echo 表示显示此命令后的字符 echo off 表示在此语句后所有运行的命令都不显示命令行 本身 @与echo off相象,但它是加在每个命令行的最前面,表 示运行时不显示这一行的命令行(只能影响当前行)。 call 调用另一个批处理文件(如果不用call而直接调用别 的批处理文件,那么执行完那个批处理文件后将无法返回 当前文件并执行当前文件的后续命令)。 pause 运行此句会暂停批处理的执行并在屏幕上显示 Press any key to continue...的提示,等待用户按任意键 后继续 rem 表示此命令后的字符为解释行(注释),不执行,只 是给自己今后参考用的(相当于程序中的注释)。
批处理新手入门
【扫盲】批处理新手入门导读第1节:批处理命令行简介命令行就是在Windows操作系统中打开DOS窗口,以字符串的形式执行Windows管理程序。
在这里,先解释什么是DOS?DOS――Disk Operation System 磁盘操作系统目前我们常用的操作系统有windows 9x/Me,NT,2000等,都是可视化的界面。
在这些系统之前的人们使用的操作系统是DOS系统。
DOS系统目前已经没有什么人使用了,但是dos命令却依然存在于我们使用的windows系统之中。
大部分的DOS命令都已经在Windows里变成了可视化的界面,但是有一些高级的DOS命令还是要在DOS环境下来执行。
所以学习命令行对于我们熟练操作Windows系统是很有必要的。
不同的操作系统要用不同的命令进入命令行界面。
在Win9x/Me的开始菜单中的运行程序中键入"command"命令,可进入命令行界面。
在Win2000/NT的开始菜单中的运行程序中键入"cmd"命令,可进入命令行界面。
下面我用讲到的DOS命令都可以在Windows xp操作系统中执行。
那么,我们如何进入命令行窗口?开始――> 运行――> 键入"cmd",回车即可!第2节:批处理是什么?能干什么?批处理文件是指文件后缀名为“.bat”的文件,它的作用是可以一次批量执行大量的命令。
这种文件在dos时期曾被大量使用,win9x时期也有,但已经开始少用了,最典型的是autoexec.bat这个文件了。
1.什么是批处理文件?批处理文件的作用是什么?批处理文件(Batch File,简称BAT文件)是一种在DOS 下最常用的可执行文件。
它具有灵活的操纵性,可适应各种复杂的计算机操作。
所谓的批处理,就是按规定的顺序自动执行若干个指定的DOS命令或程序。
即是把原来一个一个执行的命令汇总起来,成批的执行,而程序文件可以移植到其它电脑中运行,因此可以大大节省命令反复输入的繁琐。
经典的DOS批处理入门教程(1)
看过第一章的朋友,一定对批处理有了初步的印象,知道它到底是用来干什么的了。但你知道运用批处理的精髓在哪里吗?其实很简单:思路要灵活!没有做不到的,只有想不到的。这和爱情就有点不同了,因为爱情的世界是两个人的世界,一厢情愿不叫爱情(补充:那叫单恋。废话!)而批处理却是一个人的天堂,你可以为所欲为,没有达不到的境界!
先概述一下批处理是个什么东东。批处理的定义,至今我也没能给出一个合适的----众多高手们也都没给出----反正我不知道----看了我也不一定信服 ----我是个菜鸟,当然就更不用说了;但我想总结出一个“比较合适的”,而且我也相信自己可以把它解释的很清楚,让更多的菜鸟都知道这是个什么东东,你用这个东东可以干什么事情。或许你会因为这篇文章而“无条件爱上批处理”,那么我的目的就达到了----我就是要让你爱上它,我就这么拽,你能怎么着??真的,爱有时候就这么拽,就是这么没理由,就是这么不要脸!真的!
(转) 经典的DOS批处理入门教程(1)(建议耐心看完,必有收获)
关键字: dos批处理 自动化安装测试
目前在做自动化安装测试的过程中要用到大量dos批处理的应用,所以贴一篇
很好的DOS批处理入门教程 呵呵。
这是一篇技术教程,我会用很简单的文字表达清楚自己的意思,你要你识字就能看懂,就能学到知识。写这篇教程的目的,是让每一个看过这些文字的朋友记住一句话:如果爱可以让事情变的更简单,那么就让它简单吧!看这篇教程的方法,就是慢!慢慢的,如同品一个女人、一杯茗茶,你会发现很多以前就在眼前的东西突然变的很遥远,而有些很遥远的东西却又突然回到了眼前。
例四,借批处理自动清除系统垃圾,脚本如下:
@echo off
if exist c:\windows\temp\*.* del c:\windows\temp\*.*
DOS批处理介绍
L
2.)如果命令扩展名被启用,下列额外的 FOR 命令格式会受到支持: FOR /D %variable IN (set) DO command [command-parameters] 3.)如果集中包含通配符,则指定与目录名匹配,而不与文件名匹配。 FOR /R [[drive:]path] %variable IN (set) DO command [command-parameters] 检查以 [drive:]path 为根的目录树,指向每个目录中的FOR 语句。如果在 /R 后没 有指定目录,则使用 当前目录。如果集仅为一个单点(.)字符,则枚举该目录树
L
12
第二种格式 if [not] exist [路径\]文件名 待执行的命令 如果有指定的文件,则条件成立,运行命令,否则运行下一句。 如: if exist c:\config.sys type c:\config.sys 表示如果存在c:\config.sys文件,则显示它的内容。
L
13
第三种格式 if errorlevel <数字> 待执行的命令 很多DOS程序在运行结束后会返回一个数字值用来表示程序运行的结果(或者状态) ,通过if errorlevel命令可以判断程序的返回值,根据不同的返回值来决定执行不同 的命令(返回值必须按照从大到小的顺序排列)。如果返回值等于指定的数字,则条 件成立,运行命令,否则运行下一句。 如if errorlevel 2 goto x2 返回值从大到小的顺序排列不是必须的, 而只是执行命令为 goto 时的习惯用法, 当 使用 set 作为执行命令时, 通常会从小到大顺序排列, 比如需将返回码置入环境变 量, 就需使用以下的顺序形式: if errorlevel 1 set el=1 if errorlevel 2 set el=2 if errorlevel 3 set el=3 if errorlevel 4 set el=4 if errorlevel 5 set el=5 ... 当然, 也可以使用以下循环来替代, 原理是一致的: for %%e in (1 2 3 4 5 6 7 8...) do if errorlevel %%e set el=%%e
DOS和批处理基本命令
DOS和批处理基本命令1.rem和::rem注释命令,该命令后的内容不被执行,但能回显::注释命令,该命令后的内容不被执行,也不能被回显2.echo1)echo off 执行时,批处理所有的命令行都不显示,只显示执行后的结果2)显示echo当前状态打开或关闭3)echo 信息内容在后面显示该信息4)输出空行 echo. 注意echo后不能跟空格5)建立新文件或增加文件内容格式:echo 文件内容>文件名echo 文件内容>>文件名3.pause 暂停要显示其他提示语,可以这样用:echo 其他提示语 & pause > nul4.errorlevel 程序返回码echo %errorlevel%每个命令运行结束,可以用这个命令行格式查看返回码用于判断刚才的命令是否执行成功默认值为0,一般命令执行出错会设 errorlevel 为15.if1)if [not] errorlevel number commandIF ERRORLEVEL这个句子必须放在某一个命令的后面,执行命令后由IF ERRORLEVEL 来判断命令的返回值2) IF [NOT] string1==string2 commandstring1和string2都为字符的数据,英文内字符的大小写将看作不同,这个条件中的等于号必须是两个(绝对相等的意思)条件相等后即执行后面的command3) IF [NOT] EXIST filename commandEXIST filename为文件或目录存在的意思6.goto和:goto 跳转命令:一个标签goto到:命令行的位置7.typetype 路径\文件名内容显示在屏幕上或打印机输出ex:c:\windows\system32\table.logc:\windows\system32\table.log >prn8.pushd和popd 切换目录pushd 路径切换为当前目录popd 恢复到之前的目录9.call 在批处理执行过程中调用另一个批处理call command 参数在批处理编程中,可以根据一定条件生成命令字符串,用call可以执行该字符串,调用的其它批处理程序。
批处理语法大全
批处理语法大全
批处理是一种简单的程序,主要用于在DOS和Windows环境中执行一系列命令。
以下是批处理的基本语法和常用命令:
1. 批处理文件是一个“.bat”或“.cmd”结尾的文本文件,这个文件的每一行都是一条DOS命令。
可以使用任何文本文件编辑工具创建和修改。
2. 批处理中,可以使用if和goto来控制流程,也可以使用for循环。
3. echo命令:用于在命令提示符窗口中输出信息。
可以使用“”符号来抑制输出的回显。
4. echo off:关闭回显,从下一行开始关闭回显。
5. title命令:设置cmd窗口的标题。
6. ver命令:显示系统版本。
7. pause命令:让当前进程暂停一下,并显示“请按任意键继续. . .”。
8. for命令:用于循环执行一系列命令。
这只是批处理语法的冰山一角,实际上批处理还有许多其他的语法和命令。
如果你想要深入学习批处理,可以查阅相关教程和资料。
DOS批处理文件简明教程
DOS批处理文件简明教程DOS批处理文件简明教程(1)前言最近对于批处理技术的探讨比较热,也有不少好的批处理程序发布,但是如果没有一定的相关知识恐怕不容易看懂和理解这些批处理文件,也就更谈不上自己动手编写了,古语云:“授人以鱼,不如授人以渔。
”因为网上好像并没有一个比较完整的教材,所以抽一点时间写了这片<<简明批处理教程>>给新手朋友们.也献给所有为实现网络的自由与共享而努力的朋友们.批处理文件是无格式的文本文件,它包含一条或多条命令。
它的文件扩展名为 .bat 或 .cmd。
在命令提示下键入批处理文件的名称,或者双击该批处理文件,系统就会调用Cmd.exe按照该文件中各个命令出现的顺序来逐个运行它们。
使用批处理文件(也被称为批处理程序或脚本),可以简化日常或重复性任务。
当然我们的这个版本的主要内容是介绍批处理在入侵中一些实际运用,例如我们后面要提到的用批处理文件来给系统打补丁、批量植入后门程序等。
下面就开始我们批处理学习之旅吧。
一.简单批处理内部命令简介1.Echo 命令打开回显或关闭请求回显功能,或显示消息。
如果没有任何参数,echo 命令将显示当前回显设置。
语法echo [{on|off}] [message]Sample:@echo off / echo hello world在实际应用中我们会把这条命令和重定向符号(也称为管道符号,一般用> >> ^)结合来实现输入一些命令到特定格式的文件中.这将在以后的例子中体现出来。
2.@ 命令表示不显示@后面的命令,在入侵过程中(例如使用批处理来格式化敌人的硬盘)自然不能让对方看到你使用的命令啦。
Sample:@echo off@echo Now initializing the program,please wait a minite... @format X: /q/u/autoset (format 这个命令是不可以使用/y这个参数的,可喜的是微软留了个autoset这个参数给我们,效果和/y是一样的。
批处理入门手册之批处理常用DOS命令篇(attrib、del、copy、xcopy)
批处理⼊门⼿册之批处理常⽤DOS命令篇(attrib、del、copy、xcopy)1.2 学习attrib del copy xcopy命令学习要点:1。
设置⽂件属性:attrib2。
删除命令:del3。
复制⽂件:copy4。
复制⽂件(夹):xcopy⼀、设置⽂件属性:attrib显⽰或更改⽂件属性。
ATTRIB [ R | -R] [ A | -A ] [ S | -S] [ H | -H] [[drive:] [path] filename] [/S [/D]]设置属性。
- 清除属性。
R 只读⽂件属性。
A 存档⽂件属性。
S 系统⽂件属性。
H 隐藏⽂件属性。
[drive:][path][filename] 指定要处理的⽂件属性。
/S 处理当前⽂件夹及其⼦⽂件夹中的匹配⽂件。
/D 也处理⽂件夹。
1。
查看⽂件的⽂件属性格式:ATTRIB [drive:][path][filename]例1,attrib d:\ pagefile.sys查看d:\ pagefile.sys⽂件的属性。
2。
修改⽂件的属性。
格式:attrib ?属性例1,attrib –h d:\ pagefile.sys消除d:\ pagefile.sys的“隐藏”属性。
例2,attrib s h d:\ pagefile.sys给d:\ pagefile.sys设置“系统”和“隐藏”属性。
3。
批量⽂件处理例1,attrib h d:\123\*.bat /s通过/s参数可批量将d:\123及其⼦⽬录下的所有bat⽂件设置为“隐藏”属性.例2,attrib h d:\123 /s /d将d:\123及其下所有同名为123的⼦⽬录设置为“隐藏”属性.参数/d必须在批量设置⽂件属性的同时,对指定⽬录及其下所有⼦⽬录进⾏⽂件属性操作。
参数/d可以理解为“directory”(⽬录),也就是说/d 必需和/s⼀起使⽤。
思考:“attrib h d:\123 /s /d”和“attrib h d:\123\*.* /s /d”有什么区别呢?前者只有d:\123以及它同名的⼦⽬录设为了“隐藏”,⽽其它⽂件及⼦⽬录都没有设置“隐藏”。
DOS批处理全面教程
后缀是bat的文件就是批处理文件,是一种文本文件。
现在已经用得很少了,但是象IBM笔记本的系统恢复盘就是靠批处理来执行的。
简单的说,它的作用就是自动的连续执行多条命令,批处理文件的内容就是一条一条的命令。
那它有什么用呢?比如,在启动wps软件时,每次都必须执行:C:\>cd wpsC:\WPS>spdosC:\WPS>pyC:\WPS>wbxC:\WPS>wps如果每次用WPS之前都这样执行一次,您是不是觉得很麻烦呢?如果有一个方法,只需编写一个批处理文件,就会自动执行刚才的所有命令,您想不想学呢?当您看完此节,自己编写的第一个批处理文件顺利执行时,您一定会大吃一惊的。
常用命令echo、、call、pause、rem是批处理文件最常用的几个命令,我们就从他们开始学起。
echo 表示显示此命令后的字符;echo off 表示在此语句后所有运行的命令都不显示命令行本身。
与echo off相象,但它是加在其它命令行的最前面,表示运行时不显示命令行本身。
call 调用另一条批处理文件(如果直接调用别的批处理文件,执行完那条文件后将无法执行当前文件后续命令);pause 运行此句会暂停,显示Press any key to continue... 等待用户按任意键后继续;rem 表示此命令后的字符为解释行,不执行,只是给自己今后查找用的;例:用edit编辑a.bat文件,输入下列内容后存盘为c:\a.bat,执行该批处理文件后可实现:将根目录中所有文件写入a.txt中,启动UCDOS,进入WPS等功能。
批处理文件的内容为: 文件表示:echo off 不显示命令行dir c:\*.* >a.txt 将c盘文件列表写入a.txtcall c:\ucdos\ucdos.bat 调用ucdosecho 你好显示"你好"pause 暂停,等待按键继续rem 使用wps 注释将使用wpscd ucdos 进入ucdos目录wps 使用wps批处理文件中还可以像C语言一样使用参数,这只需用到一个参数表示符%。
DOS批处理教程简单易懂
D O S批处理教程简单易懂集团标准化办公室:[VV986T-J682P28-JP266L8-68PNN]从简单学起echo、@、call、pause、rem是批处理文件最常用的几个命令,我们就从他们开始学起。
echo表示显示此命令后的字符echooff表示在此语句后所有运行的命令都不显示命令行本身@与echooff相象,但它是加在其它命令行的最前面,表示运行时不显示命令行本身。
call调用另一条批处理文件(如果直接调用别的批处理文件,执行完那条文件后将无法执行当前文件后续命令)pause运行此句会暂停,显示Pressanykeytocontinue...等待用户按任意键后继续rem表示此命令后的字符为解释行,不执行,只是给自己今后查找用的批处理命令大全(一)第一部分:批处理的专用命令批处理文件是将一系列命令按一定的顺序集合为一个可执行的文本文件,其扩展名为BAT。
这些命令统称批处理命令,下面我就来给大家介绍一下批处理的命令。
1、REMREM是个注释命令一般是用来给程序加上注解的,该命令后的内容在程序执行的时候将不会被显示和执行。
例:REM你现在看到的就是注解,这一句将不会被执行。
在以后的例子中解释的内容都REM会放在REM后面。
请大家注意。
2、ECHOECHO是一个回显命令主要参数有OFF和ON,一般用ECHOmessage来显示一个特定的消息。
例:EchooffRem以上代表关闭回显即不显示所执行的命令Echo这个就是消息。
Rem以上代表显示“这就是消息”这列字符执行结果:C:\>ECHO.BAT这个就是消息。
3、GOTOGOTO即为跳转的意思。
在批处理中允许以“:XXX”来构建一个标号然后用GOTO:标号直接来执行标号后的命令。
例:LABELREM上面就是名为LABEL的标号。
DIRC:\DIRD:\GOTOLABELREM以上程序跳转标号LABEL处继续执行。
4、CALLCALL命令可以在批处理执行过程中调用另一个批处理,当另一个批处理执行完后再继续执行原来的批处理。
批处理入门手册之批处理常用DOS命令篇(md、rd、ren、move)
批处理⼊门⼿册之批处理常⽤DOS命令篇(md、rd、ren、move)1.3 学习 md rd ren move 命令学习要点:1.创建⽂件夹:md2.删除⽂件夹:rd3.重命名⽂件(夹):ren4.移动⽂件(夹):move⼀.创建⽂件夹:mdmd命令⽤于创建⽂件夹,下⾯例⼦中的路径是可以缺省的,如果缺省则在当前⽬录下创建新⽂件夹;如果创建的新⽂件夹及其路径带有空格或特殊符号的,要⽤双引号括起来。
1.创建单个⽂件夹格式:MD [路径\]⽬录例1md d:\abc在D盘下建⽴⼀个名为abc的⽂件夹。
例2md abc这⾥为缺省路径,则在当前⽬录下创建⼀个名为abc的⽂件夹。
例3md "d:\my game"在D盘下建⽴⼀个名为my game的⽂件夹。
对于新建的⽂件夹名称中包含有空格或是特殊符号的,⼀定要⽤双引号” “把⽂件夹名括起来。
例4md "C:\Documents and Settings\456^ 789"在C:\Documents and Settings下建⽴⼀个名为456^ 789的⽂件夹,由于路径中有空格,所以我们⽤双引号" "把路径和⽂件夹名⼀起括起来了。
2.同时创建多个⽬录格式:md [路径\]⽬录1 [路径\]⽬录2 [路径\]⽬录3……例5md abc D:\gmae\123 abcd在当前⽬录下建⽴abc和abcd两个⽂件,同时D:\gmae下也建⽴⼀个⽂件夹123。
3.创建多级⽬录格式:md [路径\]⽬录1\⽬录2\⽬录3\…假如我们要在D盘下建⽴⽂件夹abc,然后在abc中建新⽂件夹abcd,接着再在abcd中建⽂件夹abcde,有没有⼀个命令可以⼀次性搞定的呢?答案肯定的!例6md d:\abc\abcd\abcde就这么⼀个命令就搞定了,不信?你当然可以测试⼀下罗,呵呵~思考:在例4中如果命令不⽤双引号括起来,即md C:\Documents and Settings\456^ 789 这样会发⽣什么情况呢?这个就让⼤家动⼿去测试⼀下了,哈哈!!⼆.删除⽂件夹:rd删除⼀个⽬录。
DOS批处理高级教程:第一章 批处理基础
第一节常用批处理内部命令简介批处理定义:顾名思义,批处理文件是将一系列命令按一定的顺序集合为一个可执行的文本文件,其扩展名为BAT或者CMD。
这些命令统称批处理命令。
小知识:可以在键盘上按下Ctrl+C组合键来强行终止一个批处理的执行过程。
了解了大概意思后,我们正式开始学习.先看一个简单的例子!1@echo off2echo "欢迎来到非常BAT!"3pause把上面的3条命令保存为文件test.bat或者test.cmd然后执行,他就会在屏幕上显示以下二行话:这就是一个简单批处理文件了,这个批处理文件一共就用了2条命令"echo" 和"pause" 还有一个特殊符号"@"从上面这个简单的批处理中,我们可以发现其实批处理就是运用一些含有特殊意义的符号和一些完成指定功能的命令组合而成,那么在批处理中有多少这样的特殊符号和功能命令呢?我们现在就来仔细了解一下一些最常用的!批处理的常见命令(未列举的命令还比较多,请查阅帮助信息)1、REM 和::2、ECHO 和@3、PAUSE4、ERRORLEVEL5、TITLE6、COLOR7、mode 配置系统设备8、GOTO 和:9、FIND10、START11、assoc 和ftype12、pushd 和popd13、CALL14、shift15、IF16、setlocal 与变量延迟17、ATTRIB 显示或更改文件属性介绍命令1、REM 和::REM为注释命令,一般用来给程序加上注解,该命令后的内容不被执行,但能回显。
其次, :: 也可以起到rem 的注释作用, 而且更简洁有效; 但有两点需要注意:第一, 任何以冒号:开头的字符行, 在批处理中都被视作标号, 而直接忽略其后的所有内容。
∙有效标号:冒号后紧跟一个以字母数字开头的字符串,goto语句可以识别。
∙无效标号:冒号后紧跟一个非字母数字的一个特殊符号,goto无法识别的标号,可以起到注释作用,所以:: 常被用作注释符号,其实:+ 也可起注释作用。
批处理入门
批处理入门DOS下的可执行文件有三种,分别是EXE,COM和BAT。
其中,EXE和COM文件都是二进制形式的,只有BAT文件是文本形式的,可以直接阅读。
因此,BAT文件和以上二进制可执行文件相比,内容要简单的多。
这些文件内包含着DOS命令的集合,通常叫作批处理文件。
批处理文件的组成虽然比较简单,但其用处非常大,使用也比较广泛。
比如每次都执行一些相同的命令,您一定会觉得非常麻烦,而放在批处理文件中执行的话则轻松得多。
AUTOEXEC.BAT 就是一个特殊的批处理文件,它在DOS的启动时自动运行,在系统的配置中发挥着非常大的作用。
因此,要学好DOS,就要学好批处理文件。
下面介绍批处理文件的命令及其使用。
DOS自带的批处理命令:@ :将这个符号放在批文件中其它命令的前面,运行时将不显示命令本身。
如@ECHO OFF命令就在批文件首经常用到。
CALL :从一个批文件中调用另一个批文件,调用完后继续执行原来的批文件。
用法:CALL [批文件名]注:也可以使用COMMAND /C命令完成同样的操作。
CHOICE :选择命令。
这是一个DOS外部命令,但它主要用在批文件中。
CHOICE命令执行后将提示可选择的项目,这时通过一个按键来选则。
用法:CHOICE:[/C[:]按键表] [/N] [/S] [/T[:]选择值,秒数] [显示文本]其中,/C表示可选则的按键,/N表示不要显示提示信息,/S表示大小写字符敏感方式,/T表示若在批定的时间内没有选则的话,自动执行/C中定义的某个选择值。
显示文本是CHOICE命令执行时的提示信息。
选择结果将用ERRORLEVEL值来表示。
ECHO :显示指定的信息。
通常显示在屏幕上。
如ECHO Hello将在屏幕上显示Hello的字样。
另外,ECHO ON|OFF用来设置在批文件执行时是否显示命令本身。
而ECHO OFF与@的意思一样,但它是一个单独的命令,而不能像@那样放在其它命令之前。
dos批处理
常被用作注释符号,其实 :+ 也可起注释作用。
第二, 与rem 不同的是, ::后的字符行在执行时不会回显, 无论是否用echo on打开命令行回显状态, 因为
命令解释器不认为他是一个有效的命令行, 就此点来看, rem 在某些场合下将比 :: 更为适用; 另外, rem
4、第一章参考了网上许多教程汇编而成。
5、20080229补充了变量延迟的问题。
6、20080305修改了参数usebackq的说明
7、20080310增加了特殊字符的输入及应用
8、20080311修改了子程序部分
9、20080313修改了echo说明,归纳了9个应用方法
3、PAUSE
4、ERRORLEVEL
5、TITLE
6、COLOR
7、mode 配置系统设备
8、GOTO 和 :
9、FIND
10、START
11、assoc 和 ftype
12、pushd 和 popd
批处理的常见命令(未列举的命令还比较多,请查阅帮助信息)
1、REM 和 ::
2、ECHO 和 @
3、PAUSE
4、ERRORLEVEL
5、TITLE
6、COLOR
7、mode 配置系统设备
8、GOTO 和 :
14、20080327修改了“if增强用法”中的defined语句说明
15、20080402增加变量嵌套与命令嵌套,重要技巧之一。
不断学习中,不断更新中。
======================================================================
DOS批处理命令详解
DOS批处理命令详解一.简单批处理内部命令简介1.Echo 命令打开回显或关闭请求回显功能,或显示消息。
如果没有任何参数,echo 命令将显示当前回显设置。
语法echo [{on│off}] [message]Sample:@echo off / echo hello world在实际应用中我们会把这条命令和重定向符号(也称为管道符号,一般用> >> ^)结合来实现输入一些命令到特定格式的文件中.这将在以后的例子中体现出来。
2.@ 命令表示不显示@后面的命令,在入侵过程中(例如使用批处理来格式化敌人的硬盘)自然不能让对方看到你使用的命令啦。
Sample:@echo off@echo Now initializing the program,please wait a minite...@format X: /q/u/autoset (format 这个命令是不可以使用/y这个参数的,可喜的是微软留了个autoset这个参数给我们,效果和/y是一样的。
)3.Goto 命令指定跳转到标签,找到标签后,程序将处理从下一行开始的命令。
语法:goto label (label是参数,指定所要转向的批处理程序中的行。
)Sample:if {%1}=={} goto noparmsif {%2}=={} goto noparms(如果这里的if、%1、%2你不明白的话,先跳过去,后面会有详细的解释。
)@Rem check parameters if null show usage:noparmsecho Usage: monitor.bat ServerIP PortNumbergoto end标签的名字可以随便起,但是最好是有意义的字母啦,字母前加个:用来表示这个字母是标签,goto命令就是根据这个:来寻找下一步跳到到那里。
最好有一些说明这样你别人看起来才会理解你的意图啊。
4.Rem 命令注释命令,在C语言中相当与/*--------*/,它并不会被执行,只是起一个注释的作用,便于别人阅读和你自己日后修改。
批处理基础
运算符:EQU 等于,NEQ 不等于,LSS 少于 LEQ 少于或等于,GTR 大于,GEQ 大于或等于
例子
例子: 如果没有找到文件 Product.dat,将会显示如下消息: if not exist product.dat echo Can't find data file 如果格式化驱动器A中的磁盘期间出现错误,则下面范例将会显示错误消息: :begin @echo off format a:/s if not errorlevel 1 goto end echo An error occurred during formatting. :end echo End of batch program. 如果没有出现错误,将跳过错误消息. if 命令不能用于直接测试目录,但空 (NUL) 设备确实存在于每个目录中. 因此可以通过测试零设备确定目录是否存在.以下范例可测试目录的存在: if exist c:mydir\nul goto process
例子
例1:C:\>COPY CON LX1.BAT CD\ DIR/W CD\USER1 DIR/W CD\ ^Z 例2:C:\>COPY CON LX1.BAT @ECHO OFF REM CD\ DIR/W PAUSE CD\USER1 DIR/W CD\ (先执行命令CD\转入根目录) (第二步:显示根目录下文件目录名) (第三步执行转入USER1子目录操作) (第四步显示子目录下的文件目录名) (最后返回根目录)
7,GOTO 转到批文件内部的某个标号下执 , 行
格式:GOTO [标号名] 说明:编程中往往需要重复或跳转到某个地方继续执行,如BASIC语言中的GOTO 命令.批文件中的GOTO命令也可以完成类似的功能.在批处理程序中,将 Windows XP 导入到由标签标识的行.找到标签后,程序将处理从下一行 开始的命令. 参数:label 指定所要转向的批处理程序中的行. 例子:以下批处理程序在驱动器 A 将一张磁盘格式化为系统盘.如果操作成功, 则 goto 命令会将 Windows XP 导向 :end 标签: echo off format a:/s if not errorlevel 1 goto end echo An error occurred during formatting. :end echo End of batch program.
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
19 find (外部命令)查找命令
find "abc" c:\test.txt在 c:\test.txt 文件里查找含 abc 字符串的行如果找不到,将设 errorlevel 返回码为1
find /i "abc" c:\test.txt查找含 abc 的行,忽略大小写
copy test.txt +复制文件到自己,实际上是修改了文件日期
12 title设置cmd窗口的标题
title 新标题 #可以看到cmd窗口的标题栏变了
13 ver显示系统版本
14 label 和 vol设置卷标
vol #显示卷标
label #显示卷标,同时提示输入新卷标
date/t #只显示当前日期,不提示输入新日期
time #显示当前时间,并提示输入新时间,按"回车"略过输入
time/t #只显示当前时间,不提示输入新时间
18 goto 和 :跳转命令
:label #行首为:表示该行是标签行,标签行不执行操作
copy con test.txt从屏幕上等待输入,按 Ctrl+Z 结束输入,输入内容存为test.txt文件con代表屏幕,prn代表打印机
,nul代表空设备
copy 1.txt + 2.txt 3.txt合并 1.txt 和 2.txt 的内容,保存为 3.txt 文件如果不指定 3.txt ,则保存到 1.txt
一般用于 date time label 等需要等待输入的命令
@echo offecho 2005-05-01>temp.txtdate <temp.txtdel temp.txt这样就可以不等待输入直接修改当前日期
28 %0 %1 %2 %3 %4 %5 %6 %7 %8 %9 %*命令行传递给批处理的参数
22 &顺序执行多条命令,而不管命令是否执行成功
c: & cd\ & dir /w相当于把下面3行命令写到1行去了c:cd\dir /w
23 &&顺序执行多条命令,当碰到执行出错的命令后将不执行后面的命令
f: && cd\ && dir >c:\test.txt注意如果f盘不存在,那么后面2条命令将不会执行
25 |管道命令
前一个命令的执行结果输出到后一个命令
dir *.* /s/a | find /c ".exe"管道命令表示先执行 dir 命令,对其输出的结果执行后面的 find 命令该命令行结果:
输出当前文件夹及所有子文件夹里的.exe文件的个数
type c:\test.txt|more这个和 more c:\test.txt 的效果是一样的
echo %errorlevel%每个命令运行结束,可以用这个命令行格式查看返回码用于判断刚才的命令是否执行成功默认值为0,
一般命令执行出错会设 errorlevel 为1
3 dir显示目录中的文件和子目录列表
dir #显示当前目录中的文件和子目录
dir /a #显示当前目录中的文件和子目录,包括隐藏文件和系统文件
5 md创建目录
md abc #在当前目录里建立子目录 abc
md d:\a\b\c #如果 d:\a 不存在,将会自动创建
6 rd删除目录
rd abc #删除当前目录里的 abc 子目录,要求为空目录
rd /s/q d:\temp #删除 d:\temp 文件夹及其子文件夹和文件,不需要按 Y 确认
del /q/a/f/s d:\temp\*.*删除 d:\temp 及子文件夹里面的所有文件,包括隐藏、只读、系统文件,不包括子目录
8 ren文件重命名
ren 1.txt 2.bak #把 1.txt 更名为 2.bak
ren *.txt *.ini #把当前目录里所有.txt文件改成.ini文件
说明:本文来自网络,由youxi01整理
阅读本文需要一定的dos基础概念,象:盘符、文件、目录(文件夹)、子目录、根目录、当前目录
每个命令的完整说明请加 /? 参数参考微软的帮助文档可以看到,在 /? 帮助里,"命令扩展名"一词会经常出现"命令扩
展名"是指相对于win98的dos版本而言,每个命令新增的功能
cd #显示当前目录
cd /d d:\mp3 #可以同时更改盘符和目录
cd "Documents and Settings"\All users文件名带空格,路径前需要加上引号!!如果更改到的目录不存在,则出错返
回 errorlevel=1
%0 批处理文件本身%1 第一个参数%9 第九个参数%* 从第一个参数开始的所有参数
在C盘根目录新建test.bat,内容如下:
@echo offecho %0echo %1echo %2echo %*
运行cmd,输入 c:\test.bat "/a" /b /c /d可以看出每个参数的含意
find "ok" c:\test.txt && echo 成功如果找到了"ok"字样,就显示"成功",找不到就不显示
24 ||顺序执行多条命令,当碰到执行正确的命令后将不执行后面的命令
find "ok" c:\test.txt || echo 不成功如果找不到"ok"字样,就显示"不成功",找到了就不显示
26 > 和 >>输出重定向命令
> 清除文件中原有的内容后再写入>> 追加内容到文件末尾,而不会清除原有的内容主要将本来显示在屏幕上的内容输出
到指定文件中指定文件如果不存在,则自动生成该文件
echo hello world>c:\test.txt生成c:\test.txt文件,内容为hello world这个格式在批处理文件里用得很多,可以生成
7 del删除文件
del d:\test.txt #删除指定文件,不能是隐藏、系统、只读文件
del *.*删除当前目录里的所有文件,不包括隐藏、系统、只读文件,要求按 Y 确认
del /q/a/f d:\temp\*.*删除 d:\temp 文件夹里面的所有文件,包括隐藏、只读、系统文件,不包括子目录
dir c: /a:d #显示 C 盘当前目录中的目录
dir c:\ /a:-d #显示 C 盘根目录中的文件dir d:\mp3 /b/p #逐屏显示 d:\mp3 目录里的文件,只显示文件
名,不显示时间和大小
dir *.exe /s显示当前目录和子目录里所有的.exe文件其中 * 是通配符,代表所有的文件名,还一个通配符 ? 代表一个
echo off #从下一行开始关闭回显
@echo off #从本行开始关闭回显。一般批处理第一行都是这个
echo on #从下一行开始打开回显
echo #显示当前是 echo off 状态还是 echo on 状态
copy c:\test.txt f: >nul 2>nul不显示"文件复制成功"的提示信息,并且f盘不存在的话,也不显示错误提示信息
echo ^^W ^> ^W>c:\test.txt生成的文件内容为 ^W > W^ 和 > 是控制命令,要把它们输出到文件,必须在前面加个 ^
符号
27 <从文件中获得输入信息,而不是从屏幕上
日期比较和大小比较
echo load "%%1" "%%2">c:\test.txt生成的文件内容为 load "%1" "%2"批处理文件里,用这个格式把命令行参数输出到
copy c:\test.txt d:\复制 c:\test.txt 文件到 d:\
copy c:\test.txt d:\test.bak复制 c:\test.txt 文件到 d:\ ,并重命名为 test.bak
copy c:\*.*复制 c:\ 所有文件到当前目录,不包括隐藏文件和系统文件不指定目标路径,则默认目标路径为当前目录
修改test.bat内容如下
@echo offecho %1echo %~1echo %0echo %~f0echo %~d0echo %~p0echo %~n0echo %~x0echo %~s0echo %~a0echo %
~t0echo %~z0
再运行cmd,输入 c:\test.bat "/a" /b /c /d可以参照 call/? 或 for/? 看出每个参数的含意注意这里可以对文件进行
任意字母或汉字如 c*.* 代表以 c 开头的所有文件?.exe 代表所有文件名是一个字母的.exe文件如果指定的目录或文件
不存在,将返回 errorlevel 为1;每个文件夹的 dir 输出都会有2个子目录 . 和 ... 代表当前目录.. 代表当前目录的
上级目录
dir . #显示当前目录中的文件和子目录
find /c "abc" c:\test.txt显示含 abc 的行的行数
20 more (外部命令)逐屏显示
more c:\test.txt #逐屏显示 c:\test.txt 的文件内容
21 tree显示目录结构
tree d:\ #显示D盘的文件目录结构