DOS批处理教程精选简单易懂
DOS批处理高级教程精选(四)-第二天堂

DOS批处理高级教程精选(四)-第二天堂DOS批处理高级教程精选(四)发表于 2010年06月09日 10:49 分类: 工作日志统计: 0评/38阅1人收藏此文章,收藏此文章(?)第三章 FOR命令中的变量FOR命令中有一些变量,他们的用法许多新手朋友还不太了解,今天给大家讲解他们的用法!先把FOR的变量全部列出来:~I - 删除任何引号("),扩展 %I%~fI - 将 %I 扩展到一个完全合格的路径名%~dI - 仅将 %I 扩展到一个驱动器号%~pI - 仅将 %I 扩展到一个路径%~nI - 仅将 %I 扩展到一个文件名%~xI - 仅将 %I 扩展到一个文件扩展名%~sI - 扩展的路径只含有短名%~aI - 将 %I 扩展到文件的文件属性%~tI - 将 %I 扩展到文件的日期/时间%~zI - 将 %I 扩展到文件的大小%~$PATH:I - 查找列在路径环境变量的目录,并将 %I 扩展到找到的第一个完全合格的名称。
如果环境变量名未被定义,或者没有找到文件,此组合键会扩展到空字符串我们可以看到每行都有一个大写字母"I",这个I其实就是我们在FOR带入的变量,我们FOR语句代入的变量名是什么,这里就写什么.比如:FOR /F %%z IN ('set') DO @echo %%z这里我们代入的变量名是z那么我们就要把那个I改成z,例如%~fI 改为%~fz至于前面的%~p这样的内容就是语法了!好开始讲解:一、 ~I - 删除任何引号("),扩展 %I这个变量的作用就如他的说明,删除引号!我们来看这个例子:首先建立临时文件temp.txt,内容如下"1111"2222"3333""4444"44"55"55"55可建立个BAT文件代码如下:@echo offecho ^"1111>temp.txtecho "2222">>temp.txtecho 3333^">>temp.txtecho "4444"44>>temp.txtecho ^"55"55"55>>temp.txtrem 上面建立临时文件,注意不成对的引号要加转义字符^,重定向符号前不要留空格FOR /F "delims=" %%i IN (temp.txt) DO echo %%~ipausedel temp.txt执行后,我们看CMD的回显如下:1111 #字符串前的引号被删除了2222 #字符串首尾的引号都被删除了3333" #字符串前无引号,后面的引号保留4444"44 #字符串前面的引号删除了,而中间的引号保留55"55"55 #字符串前面的引号删除了,而中间的引号保留请按任意键继续. . .和之前temp.txt中的内容对比一下,我们会发现第1、2、5行的引号都消失了,这就是删除引号~i的作用了!删除引号规则如下(BAT兄补充!)1、若字符串首尾同时存在引号,则删除首尾的引号;2、若字符串尾不存在引号,则删除字符串首的引号;3、如果字符串中间存在引号,或者只在尾部存在引号,则不删除。
DOS批处理高级教程精选合编--第七章 DOS编程高级技巧

echo 第%var%此循环
if %var% lss 100 goto continue
rem ************循环结束了
echo 循环执行完毕
pause
四、子程序
在批处理程序中可以调用外部可运行程序,比如exe程序,也可调用其他批处理程序,这些也可以看作子程序,但是不够方便,如果被调用的程序很多,就显得不够简明了,很繁琐。
set /a %1=%1+%2
shift /2
if not "%2"=="" goto sub
goto :eof
运行结果:65
在win98系统中,不支持上面这种标号调用,须将子程序单独保存为一个批处理程序,然后调用。
五、用ftp命令实现自动下载
ftp是常用的下载工具,ftp界面中有40多个常用命令,自己学习了,不介绍了。这里介绍如何用dos命令行调用ftp命令,实现ftp自动登录,并上传下载,并自动退出ftp程序。
Command1
Command2
……
commandn
)
3、条件循环
利用goto语句和条件判断,dos可以实现条件循环,很简单啦,看例子:
@echo off
set var=0
rem ************循环开始了
:continue
set /a var+=1
LEQ - 小于或等于
GTR - 大于
GEQ - 大于或等于
上面的command命令都可以用小括号来使用多条命令的组合,包括else子句,组合命令中可以嵌套使用条件或循环命令。
例如:
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批处理高级教程精选合编20080331(windows Xp)前言本教程主要引用伤脑筋版主()的系列文章,同时参考引用[英雄]教程等其他批处理教程,本文将这些文章合并在一起,并适当修改,修改整理也是学习过程,力求深刻而又简单易懂,主要目的是方便自己以后查阅。
本教程很长啊,需要一定的耐心才能看完,能够看完的话,差不多就是批处理高手了,即使不是高手也是熟手了。
如果连续不停的看完本教程而且理解得差不多,估计人也累趴下了。
本教程适合对dos有一定基础的人慢慢学习或查阅。
查阅方法:复制目录中的条目,搜索即可。
目录第一章批处理基础第一节常用批处理内部命令简介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、@ 命令行回显屏蔽符2、% 批处理变量引导符3、> 重定向符4、>> 重定向符5、<、>&、<& 重定向符6、| 命令管道符7、^ 转义字符8、& 组合命令9、&& 组合命令10、|| 组合命令11、"" 字符串界定符12、, 逗号13、; 分号14、() 括号15、! 感叹号第二章FOR命令详解一、基本格式二、参数/d三、参数/R四、参数/L五、参数/F第三章FOR命令中的变量一、~I - 删除任何引号("),扩展%I二、%~fI - 将%I 扩展到一个完全合格的路径名三、%~dI - 仅将%I 扩展到一个驱动器号四、%~pI - 仅将%I 扩展到一个路径五、%~nI - 仅将%I 扩展到一个文件名六、%~xI - 仅将%I 扩展到一个文件扩展名七、%~sI - 扩展的路径只含有短名八、%~aI - 将%I 扩展到文件的文件属性九、%~tI - 将%I 扩展到文件的日期/时间十、%~zI - 将%I 扩展到文件的大小十一、%~$PATH:I第四章批处理中的变量一、系统变量二、自定义变量第五章set命令详解一、用set命令设置自定义变量二、用set命令进行简单计算三、用set命令进行字符串处理1、字符串替换2、字符串截取第六章if命令讲解第一种用法:IF [NOT] ERRORLEVEL number command第二种用法:IF [NOT] string1==string2 command第三种用法:IF [NOT] EXIST filename command第四种用法:IF增强的用法第七章DOS编程高级技巧一、界面设计二、if…else…条件语句三、循环语句四、子程序五、用ftp命令实现自动下载六、用7-ZIP实现命令行压缩和解压功能七、调用VBScript程序八、将批处理转化为可执行文件九、时间延迟1、利用ping命令延时2、利用for命令延时3、利用vbs延迟函数,精确度毫秒,误差1000毫秒内4、仅用批处理命令实现任意时间延迟,精确度10毫秒,误差50毫秒内十、模拟进度条十一、特殊字符的输入及应用十二、随机数(%random%)的应用技巧十三、变量嵌套与命令嵌套全文:1、更正了所有的错别字,适当排版,增加条理性。
经典的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批处理高级教程精选合编20080331(windows Xp)前言本教程主要引用伤脑筋版主()的系列文章,同时参考引用[英雄]教程等其他批处理教程,本文将这些文章合并在一起,并适当修改,修改整理也是学习过程,力求深刻而又简单易懂,主要目的是方便自己以后查阅。
本教程很长啊,需要一定的耐心才能看完,能够看完的话,差不多就是批处理高手了,即使不是高手也是熟手了。
如果连续不停的看完本教程而且理解得差不多,估计人也累趴下了。
本教程适合对dos有一定基础的人慢慢学习或查阅。
查阅方法:复制目录中的条目,搜索即可。
目录第一章批处理基础第一节常用批处理内部命令简介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、@ 命令行回显屏蔽符2、% 批处理变量引导符3、> 重定向符4、>> 重定向符5、<、>&、<& 重定向符6、| 命令管道符7、^ 转义字符8、& 组合命令9、&& 组合命令10、|| 组合命令11、"" 字符串界定符12、, 逗号13、; 分号14、() 括号15、! 感叹号第二章 FOR命令详解一、基本格式二、参数 /d三、参数 /R四、参数 /L五、参数 /F第三章 FOR命令中的变量一、~I - 删除任何引号("),扩展 %I二、%~fI - 将 %I 扩展到一个完全合格的路径名三、%~dI - 仅将 %I 扩展到一个驱动器号四、%~pI - 仅将 %I 扩展到一个路径五、%~nI - 仅将 %I 扩展到一个文件名六、%~xI - 仅将 %I 扩展到一个文件扩展名七、%~sI - 扩展的路径只含有短名八、%~aI - 将 %I 扩展到文件的文件属性九、%~tI - 将 %I 扩展到文件的日期/时间十、%~zI - 将 %I 扩展到文件的大小十一、 %~$PATH:I第四章批处理中的变量一、系统变量二、自定义变量第五章 set命令详解一、用set命令设置自定义变量二、用set命令进行简单计算三、用set命令进行字符串处理1、字符串替换2、字符串截取第六章 if命令讲解第一种用法:IF [NOT] ERRORLEVEL number command 第二种用法:IF [NOT] string1==string2 command第三种用法:IF [NOT] EXIST filename command第四种用法:IF增强的用法第七章 DOS编程高级技巧一、界面设计二、if…else…条件语句三、循环语句四、子程序五、用ftp命令实现自动下载六、用7-ZIP实现命令行压缩和解压功能七、调用VBScript程序八、将批处理转化为可执行文件九、时间延迟1、利用ping命令延时2、利用for命令延时3、利用vbs延迟函数,精确度毫秒,误差1000毫秒内4、仅用批处理命令实现任意时间延迟,精确度10毫秒,误差50毫秒内十、模拟进度条十一、特殊字符的输入及应用十二、随机数(%random%)的应用技巧十三、变量嵌套与命令嵌套全文:1、更正了所有的错别字,适当排版,增加条理性。
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是一样的。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
从简单学起echo、@、call、pause、rem 是批处理文件最常用的几个命令,我们就从他们开始学起。
echo 表示显示此命令后的字符echo off 表示在此语句后所有运行的命令都不显示命令行本身@与echo off 相象,但它是加在其它命令行的最前面,表示运行时不显示命令行本身。
call 调用另一条批处理文件(如果直接调用别的批处理文件,执行完那条文件后将无法执行当前文件后续命令)pause 运行此句会暂停,显示Press any key to continue..等. 待用户按任意键后继续rem 表示此命令后的字符为解释行,不执行,只是给自己今后查找用的批处理命令大全(一)第一部分:批处理的专用命令批处理文件是将一系列命令按一定的顺序集合为一个可执行的文本文件,其扩展名为BAT。
这些命令统称批处理命令,下面我就来给大家介绍一下批处理的命令。
1、REMREM 是个注释命令一般是用来给程序加上注解的,该命令后的内容在程序执行的时候将不会被显示和执行。
例:REM 你现在看到的就是注解,这一句将不会被执行。
在以后的例子中解释的内容都REM会放在REM后面。
请大家注意。
2、ECHOECHO是一个回显命令主要参数有OFF和ON,—般用ECHOmessag来显示-个特定的消息。
例:Echo offRem以上代表关闭回显即不显示所执行的命令Echo这个就是消息Rem 以上代表显示“这就是消息”这列字符执行结果:C:\>这个就是消息。
3、GOTOGOTO即为跳转的意思。
在批处理中允许以 :XXX来构建一个标号然后用GOTO 标号直接来执行标号后的命令。
例:LABELREM上面就是名为LABEL的标号。
DIR C:\DIR D:\GOTO LABELREM以上程序跳转标号LABEL处继续执行。
4、CALLCALL命令可以在批处理执行过程中调用另一个批处理,当另一个批处理执行完后再继续执行原来的批处理。
例:批处理内容如下:ECHO这就是2的内容批处理内容如下:ECHO这是1的内容CALLECHO 1和2 的内容全部显示完成执行结果如下:C:\>这是 1 的内容这就是 2 的内容1和2的内容全部显示完成5、PAUSEPAUSE亭止系统命令的执行并显示下面的内容。
例:C:\> PAUSE请按任意键继续. . .6、IFIF 条件判断语句,语法格式如下:IF [NOT] ERRORLEVEL number commandIF [NOT] string1==string2 commandIF [NOT] EXIST filename command说明:[NOT]将返回的结果取反值即如果没有”的意思。
ERRORLEVE是命令执行完成后返回的退出值Number 退出值的数字取值范围0~255。
判断时值的排列顺序应该又大到小。
返回的值大于或等于指定的值时条件成立。
string1==string2 string1 和string2 都为字符的数据,英文字符的大小写将看做不同,这个条件中的等于号必须是 2 个(绝对相等),条件想等后即执行后面的commandEXIST file name为文件或目录存在的意思。
IFERRORLEVE这条语句必须放在某一个命令后面。
执行命令后由IFERRORLEVEIL判断命令的返回值。
例:1、IF [NOT] ERRORLEVEL number command检测命令执行完后的返回值做出判断。
echo offdir z:rem 如果退出代码为1(不成功)就跳至标题1 处执行IF ERRORLEVEL 1 goto 1rem 如果退出代码为0(成功)就跳至标题0 处执行IF ERRORLEVEL 0 goto 0:0echo 命令执行成功!Rem 程序执行完毕跳至标题exit 处退出goto exit:1echo 命令执行失败!Rem 程序执行完毕跳至标题exit 处退出goto exit:exitRem这里是程序的出口2、IF string1==string2 command 检测当前变量的值做出判断ECHO OFFIF %1==2 goto noEcho变量相等!Goto exit:noecho 变量不相等goto exit:exit大家可以这样看效果C:\>数字3、IF [NOT] EXIST filename command 发现特定的文件做出判断echo offIF not EXIST goto 1 echo 文件存在成功!goto exit:1echo 文件不存在失败!goto exit:exit这个批处理大家可以放在c盘和d盘分别执行看看效果。
7、FORFOR这个命令比较特殊是一个循环执行命令的命令,同时FOR的循环里面还可以套用FOR在进行循环。
这篇我们介绍基本的用法就不做套用的循环了,后面再来讲解套用的循环。
在批处理中FOR的命令如下:FOR [%%c] IN (set) DO [command] [arguments]在命令行中命令如下:FOR [%c] IN (set) DO [command] [arguments]常用参数:/L 该集表示以增量形式从开始到结束的一个数字序列。
因此,(1,1,5)将产生序列 1 2 3 4 5,(5,-1,1)将产生序列(5 4 3 2 1)。
/D 如果集中包含通配符,则指定与目录名匹配,而不与文件名匹配。
/F 从指定的文件中读取数据作为变量eol=c -指一个行注释字符的结尾(就一个)skip=n -指在文件开始时忽略的行数。
delims=xxx -指分隔符集。
这个替换了空格和跳格键的默认分隔符集。
tokens=x,y,m-n -指每行的哪一个符号被传递到每个迭代的for 本身。
这会导致额外变量名称的分配。
m-n格式为一个范围。
通过nth符号指定mth。
如果符号字符串中的最后一个字符星号,那么额外的变量将在最后一个符号解析之后分配并接受行的保留文本。
usebackq -指定新语法已在下类情况中使用:在作为命令执行一个后引号的字符串并且一个单引号字符为文字字符串命令并允许在filenameset 中使用双引号扩起文件名称。
下面来看一个例子:FOR /F "eol二;toke ns=2,3* delims二,"%i in do @echo %i %j %会分析中的每一行,忽略以分号打头的那些行,将每行中的第二个和第三个符号传递给for 程序体;用逗号和/或空格定界符号。
请注意,这个for 程序体的语句引用%i 来取得第二个符号,引用%j来取得第三个符号,引用%k来取得第三个符号后的所有剩余符号。
对于带有空格的文件名,您需要用双引号将文件名括起来。
为了用这种方式来使用双引号,您还需要使用usebackq选项,否则,双引号会被理解成是用作定义某个要分析的字符串的。
%i专门在for语句中得到说明,%j和%k是通过toke门5=选项专门得到说明的。
您可以通过tokens二一行指定最多26个符号,只要不试图说明一个高于字母'z'或'Z'的变量。
请记住,FOR变量名分大小写,是通用的;而且,同时不能有52个以上都在使用中。
您还可以在相邻字符串上使用FOR/F分析逻辑;方法是,用单引号将括号之间的filenameset 括起来。
这样,该字符串会被当作一个文件中的一个单一输入行。
最后,您可以用FOR/F命令来分析命令的输出。
方法是,将括号之间的filenameset 变成一个反括字符串。
该字符串会被当作命令行,传递到一个子,其输出会被抓进内存,并被当作文件分析。
因此,以下例子:FOR /F "usebackq delims==" %i IN ('set') DO @echo 会枚举当前环境中的环境变量名称。
以下列举一个简单的例子,他将说明参数/L 和没有参数的区别:删除文件例:ECHO OFFFOR /L %%F IN (1,1,5) DO DEL %%FOR %%F IN (1,2,3,4,5) DO DEL %%以上 2 条命令执行的结果都是一样的如下:C:\>DELC:\>DELC:\>DELC:\>DELC:\>DEL8、SETLOCAL开始批处理文件中环境改动的本地化操作。
在执行SETLOCA之后所做的环境改动只限于批处理文件。
要还原原先的设置,必须执行ENDLOCAL达到批处理文件结尾时,对于该批处理文件的每个尚未执行的SETLOCA命令,都会有一个隐含的ENDLOCA被执行。
例:@ECHO OFFSET PATH /* 察看环境变量PATHPAUSESETLOCALSET PATH=E:\TOOLS /* 重新设置环境变量PATHSET PATHPAUSEENDLOCALSET PATH从上例我们可以看到环境变量PATH第1次被显示得时候是系统默认路径。
被设置成了E:\TOOLS后显示为E:\TOOLS旦当ENDLOCA后我们可以看到他又被还原成了系统的默认路径。
但这个设置只在该批处理运行的时候有作用。
当批处理运行完成后环境变量PATH将会还原。
9、SHIFTSHIFT命令可以让在命令上的的命令使用超过10个(%0~%9以上的可替代参数例:ECHO OFFECHO %1 %2 %3 %4 %5 %6 %7 %8 %9SHIFTECHO %1 %2 %3 %4 %5 %6 %7 %8 %9SHIFTECHO %1 %2 %3 %4 %5 %6 %7 %8 %9执行结果如下:C::\> 1 2 3 4 5 6 7 8 9 10 111 2 3 4 5 6 7 8 92 3 4 5 6 7 8 9 103 4 5 6 7 8 9 10 11以上就是基于WIN2000下的9个批处理命令。
批处理命令大全(二)2007-05-10 11:49第二部分:特殊的符号与批处理在命令行下有些符号是不允许使用的旦有些符号却有着特殊的意义。
1 、符号(@)@在批处理中的意思是关闭当前行的回显。
我们从上面知道用命令echo off可以关掉整个批处理的命令回显但却不能不显示echo off 这个命令。
现在我们在这个命令前加上@这样echooff 这一命令就被@关闭了回显从而达到所有命令均不回显得要求2、符号(>)>的意思是传递并覆盖。
他所起的作用是将运行后的回显结果传递到后面的范围(后面可是文件也可是默认的系统控制台)例:文件的文件内容为:1+1使用命令c:\>dir *.txt >这时候的内容如下驱动器 C 中的卷没有标签。
卷的序列号是301A-1508的目录2003-03-11 14:04 1,0052003-04-04 16:38 18,598,4942003-04-04 17:02 52003-03-12 11:43 05 个文件18,630,070 字节0 个目录1,191,542,784 可用字节>将命令执行的结果覆盖了原始的文件内容。