title 测试bat的文件(test.bat--括号)
rem ==================括号()====================
rem 输出1 2 3 每个单独占一行
echo 1 & echo 2 & echo 3
echo --------------
(
echo 1
echo 2
echo 3
)
@pause
11.! 感叹号
在变量延迟问题中,用来表示变量,即%var%应该表示为!var!,见setlocal介绍。
在set /a 一元运算符中表示逻辑非
12.: 冒号
任何以冒号:开头的字符行, 在批处理中都被视作标号, 而直接忽略其后的所有内容。
有效标号:冒号后紧跟一个以字母数字开头的字符串,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 var001=%str:~2,7%
rem 输出 chunli
echo %var001%
set var002=%str:u=r%
rem 输出 lrchrnli
echo %var002%
@pause
13.:: 注释符号
表示该行内容为注释内容。:: 是个无效的标签名,:加上空格同样可以起到注释的作用。
::的功能和注释命令rem相同。
但是还有几点区别
(1)::后的字符行在执行时不会回显, 无论是否用echo on打开命令行回显状态。
(2)rem 注释语句中的某些命令符号如重定向符号和管道符号还是会执行,而如果用::来注释的时候,与::同处一行的所有命令或符号直接被命令解释器忽略掉,无形中提高了注释的兼容性和整个程序的执行效率,并且在众多的命令语句中更显得醒目,所以,注释语句推荐使用::的格式。
(3)rem 可以用于 config.sys 文件中。
Dos代码
rem ==============注释命令符号::=================
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-79894-5.html
当然或许会出现战争
我也是