位置: 编程技术 - 正文

Windows中的批处理的常用符号介绍(批处理在windows中的典型应用)

编辑:rootadmin
1.@ 命令行回显屏蔽符 ECHO OFF可以关闭掉整个批处理命令的回显,但不能关掉ECHO OFF这个命令本身,现在我们在ECHO OFF这个命令前加个@,就可以达到所有命令均不回显的要求。 该符号在批处理中的作用是关闭当前行命令的回显,也就是不显示执行的是什么命令,只显示命令的结果! 2.> 重定向符 将>之前的命令执行的结果输出到>之后指定的设备或文件中去,特定的文件或标准输出(stdout--默认为系统控制台),若文件中有数据则覆盖。 >> 重定向符 需要显示的数据追加到指定的输出文件之中,而不覆盖原来的内容。 < 输入重定向 将输入信息来源重定向为指定的设备或文件,系统默认接收键盘输入。 >&将一个句柄的输出写入到另一个句柄的输入中 <&刚好和>&相反,从一个句柄读取输入并将其写入到另一个句柄输出中 常用句柄0、1、2,未定义句柄3-9 其中的1与2都是代表某个数据流输入输出的地址(NT CMD 称之为句柄,MSDOS称之为设备)。   句柄0:标准输入stdin,键盘输入   句柄1:标准输出stdout,输出到命令提示符窗口(console,代码为CON)   句柄2:标准错误stderr,输出到命令提示符窗口(console,代码为CON)   其中的stdin可被<重定向,stdout可被>、>>重定向,而stderr在DOS下不可直接重定向,只有通过ctty或其它命令将系统控制权转交给其它设备的方式,来间接完成。 注意:如果用在 set /a 语句中,则>表示分组,>>表示逻辑移位。Dos代码 @echo off @rem echo 关闭命令显示,@关闭echo off本身的显示 rem ==============设置标题title================= rem -使用该文件的名称作为标题 title 测试bat的文件(test.bat--重定向) rem ===============重定向符>===================== rem 将当前文件的内容输出到指定的文件tb.txt而非控制台 type d:testbaktt.txt>d:testbaktb.txt rem 将特定的字符串"Hello China "(注意最后的空格)写入到指定的文件 echo Hello China >d:testbaktc.txt rem ===============重定向符>>==================== echo hello>d:testbaktd.txt echo world>>d:testbaktd.txt rem ===============重定向符<===================== rem 重新设定当前时间 echo -->d:testbakte.txt date <d:testbakte.txt del d:testbakte.txt rem ===============重定向符<===================== rem 如果e盘存在则将其下面的文件信息输出到te.txt 否则将错误信息输出到err.txt dir e: 1>d:testbakte.txt 2>d:testbakerr.txt @pause 3.| 命令管道符 管道命令,将|之前的命令的输出作为|之后的命令的输入。 格式:第一条命令 | 第二条命令 [| 第三条命令...]Dos代码 @echo off @rem echo 关闭命令显示,@关闭echo off本身的显示 rem ==============设置标题title================= rem -使用该文件的名称作为标题 title 测试bat的文件(test.bat--管道命令) rem =================管道命令|=================== rem 将显示tom tom rm d:testbakt.txt echo tom>d:testbakt.txt echo neil>>d:testbakt.txt echo tom>>d:testbakt.txt echo neil>>d:testbakt.txt echo jerry>>d:testbakt.txt type d:testbakt.txt | find "tom" @pause 4.^ 转义字符 对特殊符号"<",">","&"的前导字符,在命令中他将以上3个符号的特殊功能去掉,仅仅把他们当成符号而不使用他们的特殊意义。 另外,此转义字符还可以用作续行符号。 Dos代码 @echo off @rem echo 关闭命令显示,@关闭echo off本身的显示 rem ==============设置标题title================= rem -使用该文件的名称作为标题 title 测试bat的文件(test.bat--转义字符) rem =================转义字符^================== rem 用来转义 输出hello china > d:testbatt.txt echo hello china ^> d:testbatt.txt rem 用来续行行 输出结果为 hellochinaluchunli echo hello^ china^ luchunli @pause 5.& 组合命令 允许在一行中使用2个以上不同的命令,当第一个命令执行失败了,也不影响后边的命令执行。 语法:第一条命令 & 第二条命令 [& 第三条命令...] && 组合命令 用这种方法可以同时执行多条命令,当碰到执行出错的命令后将不执行后面的命令,如果一直没有出错则一直执行完所有命令 语法:第一条命令 && 第二条命令 [&& 第三条命令...] 这个命令和上边的类似,但区别是,第一个命令失败时,后边的命令也不会执行。 || 组合命令 用这种方法可以同时执行多条命令,当一条命令失败后才执行第二条命令,当碰到执行正确的命令后将不执行后面的命令,如果没有出现正确的命令则一直执行完所有命令。 语法:第一条命令 || 第二条命令 [|| 第三条命令...] 提示:组合命令和重定向命令一起使用必须注意优先级  管道命令的优先级高于重定向命令,重定向命令的优先级高于组合命令。Dos代码 @echo off @rem echo 关闭命令显示,@关闭echo off本身的显示 rem ==============设置标题title================= rem -使用该文件的名称作为标题 title 测试bat的文件(test.bat--组合命令) rem =================组合命令&================== dir d:testaa & dir d:testall rem k盘不存在 不影响命令执行 dir k: & dir d:testall rem =================组合命令&&================= rem k盘不存在 程序无法再执行 dir k: && dir d:testall rem =================组合命令||================= rem k盘不存在 执行错误 后面的dir才执行 dir k: || dir d:testall rem ========结合使用组合命令和重定向命令======== dir c: & dir d: > d:testbakt.txt rem 上述命令执行结果只有d盘下面的目录到t.txt去了 rem c盘下面的目录并没有按照预想的输出,而是打印在了控制台上 rem 修改成为,分别进行输出 dir c: > d:testbakt.txt && dir d: >> d:testbakt.txt @pause 6."" 双引号 双引号允许在字符串中包含空格。 cd "program files" cd progra~1 cd pro* 以上三种方法都可以进入program files这个目录 7., 逗号 逗号相当于空格,在某些情况下","可以用来当做空格使。 如:dir,c: 8.; 分号 当命令相同时,可以将不同目标用";"来隔离,但执行效果不变,如执行过程中发生错误,则返回错误报告。 如:dir c:;d:;e:;f:Dos代码 @echo off @rem echo 关闭命令显示,@关闭echo off本身的显示 rem ==============设置标题title================= rem -使用该文件的名称作为标题 title 测试bat的文件(test.bat--分号) rem ==============分号;================= rem c d e f磁盘都存在,则正确执行,显示各磁盘下文件目录 dir c:;d:;e:;f: echo --------------------- rem z盘不存在则程序返回错误,对于d e f均不再执行 dir z:;d:;e:;f: @pause 9.% 批处理变量引导符 表示参数,参数是指在运行批处理文件时在文件名后加的字符串。引用变量用%var%,调用程序外部参数用%1至%9等等。 %0 %1 %2 %3 %4 %5 %6 %7 %8 %9 %*为命令行传递给批处理的参数   %0 批处理文件本身,包括完整的路径和扩展名   %1 第一个参数   %9 第九个参数   %* 从第一个参数开始的所有参数  参数%0具有特殊的功能,可以调用批处理自身,以达到批处理本身循环的目的,也可以复制文件自身等等。 %%批处理变量引导符。 set str=abc echo 变量 str 的值为%str% %也可以作为转义字符 echo %% 输出一个% echo %%%% 输出两个%Dos代码 @echo off @rem echo 关闭命令显示,@关闭echo off本身的显示 rem ==============设置标题title================= rem -使用该文件的名称作为标题 title 测试bat的文件(test.bat--变量引导符) rem ==============变量引导符%=================== rem %0 代表当前文件本身 输出路径名和文件名 echo %0 rem 可以通过%0来拷贝自身(将当前文件的内容拷贝到tt.txt中去) copy %0 d:testbaktt.txt rem 可以通过设置参数来接受输入的变量,但是不能有空格 rem 如:set param = %1则取不到任何结果,只能为set param=%1 rem 批处理接受参数,如:test.bat tom is boy set param=%1 set param=%2 set param=%3 rem 输出 tom is boy echo %param% %param% %param% rem %只能接受%1到%9九个参数,若参数多云9个则无法接受,需使用shift命令,见shift命令讲解 rem % 与 %%的用法 rem =两端不可有空格 set str=abc echo str 的值是 %str% rem 以下分别输出一个% 两个% 三个% echo %% echo %%%% echo %%%%%% echo hello>d:testbakt.txt echo china>>d:testbakt.txt echo how>>d:testbakt.txt echo are>>d:testbakt.txt echo you>>d:testbakt.txt rem 依次输出hello china how are you for /f %%i in (d:testbakt.txt) do echo %%i rem 依次输出a b c for %%i in (a b c) do echo %%i @pause .() 括号 小括号在批处理编程中有特殊的作用,左右括号必须成对使用,括号中可以包括多行命令,这些命令将被看成一个整体,视为一条命令行。   括号在for语句和if语句中常见,用来嵌套使用循环或条件语句,其实括号()也可以单独使用。 注意:这种多条命令被视为一条命令行时,如果其中有变量,就涉及到变量延迟的问题。 在for和if语句中属于语句格式的要求 例如:  for %%i in (语句1) do(语句2) 在这条语句中,语句1必须用括号对包围,而语句2的括号对则可视情况予以抛弃或保留:如果语句2是单条语句或用&、&&、||等连接符号连接的多条语句,括号对可以抛弃,如果语句2是有逻辑先后关系的多条语句集合,则必须保留括号对,并且,多条语句必须断行书写。 if 条件 (语句1) else (语句2) 如果没有else部分,则语句1的括号对可有可无;如果有else部分,则语句1中的括号对必须保留,此时,语句2中的括号对保留与否,和上一点类似。 Dos代码 @echo off @rem echo 关闭命令显示,@关闭echo off本身的显示 rem ==============设置标题title================= rem -使用该文件的名称作为标题 title 测试bat的文件(test.bat--括号) rem ==================括号()==================== rem 输出1 2 3 每个单独占一行 echo 1 & echo 2 & echo 3 echo -------------- ( echo 1 echo 2 echo 3 ) @pause .! 感叹号 在变量延迟问题中,用来表示变量,即%var%应该表示为!var!,见setlocal介绍。 在set /a 一元运算符中表示逻辑非 .: 冒号 任何以冒号:开头的字符行, 在批处理中都被视作标号, 而直接忽略其后的所有内容。 有效标号:冒号后紧跟一个以字母数字开头的字符串,goto语句可以识别,表示该行是一个标签,它之后的内容是一个标签段。 如:test,则表示:test之下的内容是标签段,而test是这个标签段的名,可以用 goto test 、goto :test 跳转 到该标签段或用call :test 调用该子过程。 在 set 语句中:和~同时使用时,:起到截取字符串的功能。 假设 set str=abcde,那么,set var=%str:~0,1% 表示截取字符串abcde的第一个字符; 和=同时使用时,起到替换字符串的功能。 假设:set str=abc:de,那么,set var=%str:a=1% 表示把字符串abc:de中的a替换为1 无效标号:冒号后紧跟一个非字母数字的一个特殊符号,goto无法识别的标号,可以起到注释作用,所以 :: 常被用作注释符号,其实 :+ 也可起注释作用。Dos代码 @echo off @rem echo 关闭命令显示,@关闭echo off本身的显示 rem ==============设置标题title================= rem -使用该文件的名称作为标题 title 测试bat的文件(test.bat--冒号) rem ===================冒号:==================== rem 作为标签段 set num=3 set count=4 set /a flag=num+1 :: 关于判断相等若不加goto end则程序执行有问题 if %count%==%flag% goto begin goto end :begin echo This is begin :end echo This is end rem 截取/替换字符 set str=luchunli set var=%str:~2,7% rem 输出 chunli echo %var% set var=%str:u=r% rem 输出 lrchrnli echo %var% @pause .:: 注释符号 表示该行内容为注释内容。:: 是个无效的标签名,:加上空格同样可以起到注释的作用。 ::的功能和注释命令rem相同。 但是还有几点区别 (1)::后的字符行在执行时不会回显, 无论是否用echo on打开命令行回显状态。 (2)rem 注释语句中的某些命令符号如重定向符号和管道符号还是会执行,而如果用::来注释的时候,与::同处一行的所有命令或符号直接被命令解释器忽略掉,无形中提高了注释的兼容性和整个程序的执行效率,并且在众多的命令语句中更显得醒目,所以,注释语句推荐使用::的格式。 (3)rem 可以用于 config.sys 文件中。 Dos代码 rem ==============注释命令符号::================= rem 以下两句都不会执行 rem tt>d:testbakt.txt :: ttb>>d:testbakt.txt .~ 和冒号(:)一起使用时起到截取字符串的功能。 在set /a语句中时,它是一元运算符,表示将操作数按位取反。 例如,set /a num=~1的执行结果是-2,set /a num=~0的结果是-1 用在for语句中,表示增强for的功能,能够提取到更多的信息。 例如:在批处理文件的for语句中:%%~i表示去掉第一对外侧引号,%%~zi表示获取文件的大小(以字节为单位),%%~ni表示获取文件名,%%~xi表示获取扩展名(带点号)……它们可以组合使用,如%%~nxi表示获取文件名和后缀名。 .+ - * / 在 set /a 语句中,这些符号的含义分别为:加、减、乘、除。例如:set /a num=1+2-3*4/5。 需要注意的是,这些运算符号遵循数学运算中的优先级顺序:先乘除后加减,有括号的先算括号,并且,直接忽略小数点,因此,刚才那个算式的结果是1而不是0或0.6。  另外,有可能会在代码中看到这样的写法:set /a num+=1、set /a num-=1、set /a num*=1 和 set /a num/=1,这些表示累加、累减、累乘、累除,步长都是1,展开后的完整写法为:set /a num=num+1、set /a num=num-1、set /a num=num*1 和 set /a num=num/1(set /a 语句中,变量引用可以忽略百分号对或感叹号对,set /a num=%num%+1 与 set /a num=num+1 等同) .equ neq lss leq gtr geq 命令符号 含义 英文解释 EQU 等于 equal NEQ 不等于 not equal LSS 少于 less than LEQ 少于或等于 less than or equal GTR 大于 greater than GEQ 大于或等于 greater than or equalDos代码 rem ==========equ neq lss leq gtr geq=========== set str=tom set str=tom rem equ 输出equal if %str% equ %str% echo equal .点(.)和双点(..) 一个点代表当前目录;两个点代表上一级目录。 .问号(?) 匹配任意一个字符 在路径中代表任意一个统配符 紧跟在/之后表示获取帮助,如if /? 和 set /?

推荐整理分享Windows中的批处理的常用符号介绍(批处理在windows中的典型应用),希望有所帮助,仅作参考,欢迎阅读内容。

Windows中的批处理的常用符号介绍(批处理在windows中的典型应用)

文章相关热门搜索词:windows批处理命令大全,window批处理,window批处理,windows的批处理是如何实现的,批处理在windows中的典型应用,批处理在windows中的典型应用,windows的批处理是如何实现的,windows批处理教程,内容如对您有帮助,希望把文章链接给更多的朋友!

Windows的服务功能初探介绍 在Windows中,对于一些不需要显示图形界面的应用程序,我们可以把它做成Windows服务,让它在后台运行,例如一些文件监视服务等。一台电脑中的Windows

Windows上几个常用的获取时间戳函数的效率比较 Windows上几个获取时间戳函数的效率比较今天无事,测试了下Windows上几个获取时间戳的函数效率机器性能:CPUIK未超频测试1亿次调用CRT的Time()函数耗

怎么给文件夹设密码 给文件夹设置密码的方法 步骤方法1、打开Windows资源管理器。2、右键单击要加密的文件或文件夹,然后单击属性。3、在常规选项卡上,单击高级。选中加密内容以便保护数据复

标签: 批处理在windows中的典型应用

本文链接地址:https://www.jiuchutong.com/biancheng/361036.html 转载请保留说明!

上一篇:64位下无法运行32位程序的解决方法 提示未指定提供程序,也没有指派的默认提供程序

下一篇:Windows的服务功能初探介绍(服务win10)

  • 计提个税与实际缴纳不一致
  • 招待费增值税税率
  • 总账一级科目有哪些
  • 长期待摊费用怎么算
  • 滴滴的发票能不能作废
  • 模具费进研发费用还是成本
  • 个人以不动产投资入股
  • 增值税建筑业税率几次调整
  • 资产减值损失借贷方向
  • 固定资产未到期报废进项税额需要转出吗
  • 建设单位对施工单位的管理要求
  • 增值税转售行为怎么做会计处理?
  • 一般纳税人如何零申报
  • 购买可供出售金融资产
  • 发票认证系统查不到发票
  • 不含税单价怎么换成含税单价
  • 如何确定合并报表的范围简答题
  • 税费五个点怎么算
  • 库存商品结转成本摘要怎么写
  • 捐赠所得税视同销售怎么处理
  • 代开的普通发票如何盖章?
  • 国外的发票怎么在中国报销
  • b4纸张尺寸
  • 电脑任务栏图标怎么移到左边
  • 业务招待住宿费发票可以抵扣进项税吗
  • 苹果取消macbook
  • php 生成缩略图
  • laravel create
  • 收到银行承兑汇票会计分录
  • 土地使用权转让法律规定
  • 增值税及附加税是什么意思
  • 关于php中一些字符的数据
  • arc架构
  • 风险敞口是指什么
  • vue插槽的使用场景
  • 虚拟机安装win11提示无法运行
  • 腾讯产品面经
  • -mtime命令
  • python字典删除键值对方法
  • 销售费用进项税额转出会计分录怎么写
  • 为什么要扩展
  • 买商品赠送赠品怎么做账
  • 债权转让收益需缴税吗
  • 三联发票是哪三联颜色分别
  • 研发费用资本化计入什么科目
  • 商铺首次出租是不是要便宜些
  • 转账支票只能去开户行买吗?
  • python包发布
  • 第6章 分支语句和逻辑运算符
  • 保函被索赔支付什么意思
  • dedecms v6
  • 债权投资和其他债权投资举例
  • 教育行业有主营业务吗
  • 安装SQL2005的实训体会
  • 应交增值税为负数是什么意思
  • 生活垃圾处理费合法吗
  • 小规模纳税人适用什么会计准则
  • 购入车辆发生的费用
  • 筹建期的印花税怎么算
  • 预付账款转入其他应付款会计分录
  • 垃圾清运费会计处理
  • 应收账款管理应该收集哪些信息
  • 企业年报修改后没有公示怎么办
  • 公司注销往来账要消吗
  • mysql千万级分页优化
  • centos安装选择哪个
  • win8有几种版本
  • 怎样取消进windows 密码
  • 24个方法
  • 如何限制网速不让孩子玩游戏
  • windows8怎么设置锁屏时间
  • winedt中文界面
  • win7系统重启后黑屏不进系统
  • Ext4.2的Ext.grid.plugin.RowExpander无法触发事件解决办法
  • node chain
  • javascript如何定义函数
  • 网络发票管理系统
  • 扬州退契税政策
  • 企业代扣代缴个税
  • 云南省2021年退休金计发基数
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设