欢迎来到天天文库
浏览记录
ID:38091755
大小:38.50 KB
页数:5页
时间:2019-05-24
《XP批处理命令基础bat命令基础》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、XP批处理命令基础/bat命令基础2011年05月01日星期日18:40欢迎光临我的淘宝小店——时尚韩装小铺1、@一般在它之后紧跟一条命令或一条语句,则此命令或语句本身在执行的时候不会显示在屏幕上。请把下面的代码保存为test.cmd文件,然后运行,比较一下两条echo语句在屏幕上的输出差异: echoa @pause @echob @pause执行结果如下: C:DocumentsandSettingsJM桌面>echoa a 请按任意键继续… b 请按任意键继续…2
2、、%、%%百分号用在不同的场合,有不同的含义:①当百分号成对出现,并且其间包含非特殊字符时,一般做变量引用处理,比如:%var%、%str%。把以下代码保存为批处理文件,运行后观察屏幕显示结果: @echooff setstr=abc echo变量str的值是:%str% pause在屏幕上将显示这样的结果: 变量str的值是:abc 按任意键继续…另外,百分号作为变量引用还有一种特殊形式,那就是对形式参数的引用,此时,单个百分号后面紧跟0~9这10个数字,如%0、%1,其中,%0为脚本本身的名称,%1至%9为
3、第二至九个参数…最多支持%0~%9,%10以后就是变量引用了,即%15为%1的值接上5。请看演示代码: @echooff ifdefinedstrgotonext setstr= set/pstr=请把文件拉到本窗口后回车: call“%~0″%str% pause exit :next cls echo本批处理文件完整路径为:”%~0″ echo拖到本窗口的文件完整路径为:”%~1″ goto:eof②出现在set/a语句中时,表示两数相除取余数,也就是所谓的模运算,它在命令行窗口和批处理文件中的写法
4、略有差异:在命令行窗口中,只需要单个的%,在批处理文件中,需要连续两个百分号,写成%%。例如:在命令行窗口中,运行set/anum=4%2,则结果将显示0,因为4除以2的余数为0;如果保存为批处理文件,则此语句将略有改变: @echooff set/anum=4%%2 echo4除以2的余数为%num% pause③转义符号:如果要显示%本身时,需要在前面用%来转义。例如: @echooff echo一个百分号:%% echo两个百分号:%%%% echo三个百分号:%%%%%% pause3、:、::①以:打头的
5、单个的:表示该行是一个标签,它之后的内容是一个标签段,如:test,则表示:test之下的内容是标签段,而test是这个标签段的名,可以用gototest、goto:test跳转到该标签段或用call:test调用该子过程;而连续两个冒号打头表示该行内容为注释内容,实际上,::是个无效的标签名,:加上空格同样可以起到注释的作用,此时,::的功能和注释命令rem相同;但是,rem注释语句中的某些命令符号如重定向符号和管道符号还是会执行,而如果用::来注释的时候,与::同处一行的所有命令或符号直接被命令解释器忽略掉,无形中提高了注释的兼容性和整个程序的执
6、行效率,并且在众多的命令语句中更显得醒目,所以,注释语句推荐使用::的格式。②在set语句中:和~同时使用时,:起到截取字符串的功能。假设setstr=abcde,那么,setvar=%str:~0,1%表示截取字符串abcde的第一个字符;和=同时使用时,起到替换字符串的功能。假设:setstr=abc:de,那么,setvar=%str:a=1%则表示把字符串abc:de中的a替换为1,setvar=%str::=2%则表示把字符串abc:de中的:替换为2;4、~①用在set语句中,和:同时使用时,起到截取字符串的功能,请参考上一条的解释;②用
7、在set/a语句中时,它是一元运算符号,表示将操作数字按位取反,例如,set/anum=~1的执行结果是-2,set/anum=~0的结果是-1③用在for语句中,表示增强for的功能,能够提取到更多的信息。例如:在批处理文件的for语句中:%%~i表示去掉第一对外侧引号,%%~zi表示获取文件的大小(以字节为单位),%%~ni表示获取文件名,%%~xi表示获取扩展名(带点号)……它们可以组合使用,如%%~nxi表示获取文件名和后缀名。5、>、>>一般而言,>表示用新内容覆盖原文件内容,>>表示向原文件追加内容,此时,它们以重定向符号的身份出现;如果
8、用在set/a语句中,则>表示分组,>>表示逻辑移位;6、
9、一般而言,它以管道符号的身份出现,表示把在它之前
此文档下载收益归作者所有