DOS命令基础:echo、变量、函数、set、字符串截取
2017-05-25 23:53
323 查看
echo命令
echo显示当前ECHO设置状态;
echo.输出空行,即相当于输入一个回车,echo后面的点要紧挨一起,中间不能有空格,后面的点可以用,:;/[
\ ]+等任一符号替代。即:下面的命令都是输出空行:
echo 文字,输出设置的文字内容
![](https://img-blog.csdn.net/20170526000545008?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdTAxMDMyNjk5NA==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
@符号:隐藏后面的执行指令
![](https://img-blog.csdn.net/20170526000619198?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdTAxMDMyNjk5NA==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
函数:
函数以一个标签开始,并以goto:eof结束
函数怎么工作
调用函数的脚本将其分成两部分。
1.main script: 从第一行开始并且以 GOTO:EOF命令结束
2.函数部分:由多个函数组成,由main script调用。
![](https://img-blog.csdn.net/20170526001020593?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdTAxMDMyNjk5NA==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
编写带参数的函数
采用%1~%9来代表参数的值。而%0表示批处理文件本身,当然,如果传递的参数是“xxx”形式,而要获取的参数值为xxx,则需要使用%~1形式的参数。
(参数直接放在函数后面,用空格或逗号分隔)
1.用空格或者逗号将参数分开
2.用双引号将带有空格的字符串参数括起来
![](https://img-blog.csdn.net/20170526001410817?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdTAxMDMyNjk5NA==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
环境变量
在dos中直接输入set会输出所有的本地环境变量
变量的设置与引用
调用函数后不像其他语言那样能有返回值,最常用的做法是先用set定义一个全局变量,然后在函数中使用该全局变量并将需要的值保存在全局变量中
直接用该全局变量。
SET命令设置变量,用%xy%引用变量xy
让用户自己输入变量的值,然后我们在来根据这个值来做相应操作
set /p 变量名=提示语
![](https://img-blog.csdn.net/20170526001643529?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdTAxMDMyNjk5NA==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
表达式类型的变量(set /a)
() 分组
! ~ - 一元运算符
* / % 算数运算符
+ - 算数运算符
= *= /= %= += -= 赋值
&= ^= |= <<= >>= 表达式分隔符
对于逻辑或取余操作符,使用的时候需要添加引号才能正常使用,否则报错
<< >> 逻辑移位
& 按位“与”
^ 按位“异”,非
| 按位“或”
![](https://img-blog.csdn.net/20170526001801370?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdTAxMDMyNjk5NA==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
字符串替换(=)
%PATH:str1=str2%这个操作就是把变量%PATH%里的str1全部用 str2替换。
实例:
![](https://img-blog.csdn.net/20170526001912044?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdTAxMDMyNjk5NA==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
字符串截取(~)
![](https://img-blog.csdn.net/20170526001959687?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdTAxMDMyNjk5NA==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
截取的作用
![](https://img-blog.csdn.net/20170526092605230?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdTAxMDMyNjk5NA==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
函数的局部变量
局部变量放在SETLOCAL与ENDLOCAL之间定义。
SETLOCAL可以很好的保护函数内与外面的变量不会冲突。即:
echo显示当前ECHO设置状态;
echo.输出空行,即相当于输入一个回车,echo后面的点要紧挨一起,中间不能有空格,后面的点可以用,:;/[
\ ]+等任一符号替代。即:下面的命令都是输出空行:
echo. echo, echo: echo; echo/ echo\ echo[ echo] echo+
echo 文字,输出设置的文字内容
@符号:隐藏后面的执行指令
函数:
函数以一个标签开始,并以goto:eof结束
函数怎么工作
调用函数的脚本将其分成两部分。
1.main script: 从第一行开始并且以 GOTO:EOF命令结束
2.函数部分:由多个函数组成,由main script调用。
编写带参数的函数
采用%1~%9来代表参数的值。而%0表示批处理文件本身,当然,如果传递的参数是“xxx”形式,而要获取的参数值为xxx,则需要使用%~1形式的参数。
:myFunction echo it could do %~1 of things %~2 goto:eof调用时给函数传参
(参数直接放在函数后面,用空格或逗号分隔)
1.用空格或者逗号将参数分开
2.用双引号将带有空格的字符串参数括起来
call:myDosFunc 100 YeePEE call:myDosFunc 100 "for me" call:myDosFunc 100,"for me"传参实例:
@echo off call:myFunction 100 hello call:myFunction 100,hello call:myFunction 100,"hello" call:myFunction 100 "hello world" echo.&pause&goto:eof :myFunction echo. echo it could do %1 of things %2 echo it could do %~1 of things %~2 goto:eof
环境变量
在dos中直接输入set会输出所有的本地环境变量
变量的设置与引用
调用函数后不像其他语言那样能有返回值,最常用的做法是先用set定义一个全局变量,然后在函数中使用该全局变量并将需要的值保存在全局变量中
直接用该全局变量。
SET命令设置变量,用%xy%引用变量xy
@echo off set var=hello world echo %var% pause交互式的变量(set /p)
让用户自己输入变量的值,然后我们在来根据这个值来做相应操作
set /p 变量名=提示语
表达式类型的变量(set /a)
set /a var=2 - 1 set /a var=2 * 2 set /a var=2 / 2 set /a var=(1+1) + (1+1) set /a a=1+1,b=2+1,c=3+1 set /a var+=1 set /a var*=2运算符
() 分组
! ~ - 一元运算符
* / % 算数运算符
+ - 算数运算符
= *= /= %= += -= 赋值
&= ^= |= <<= >>= 表达式分隔符
对于逻辑或取余操作符,使用的时候需要添加引号才能正常使用,否则报错
<< >> 逻辑移位
& 按位“与”
^ 按位“异”,非
| 按位“或”
字符串替换(=)
%PATH:str1=str2%这个操作就是把变量%PATH%里的str1全部用 str2替换。
实例:
@echo off set a=www.baidu.com echo 替换前的值:%a% set b=%a:.=点% echo 替换后的值:%b% pause
字符串截取(~)
@echo off set a=www.baidu.com echo 替换前的值:%a% set b=%a:.=点% echo 替换后的值:%b% ::从下标1对应的位置开始,截取4位字符(下标从0开始) set c=%b:~1,4% echo %c% ::从第2位开始截取,截止倒数第4位 set f=%b:~1,-4% echo %f% ::截取3对应的下标到末尾的字符 set e=%b:~3% echo %e% ::截取-3对应的下标到末尾的字符,即倒数3位 set d=%b:~-3% echo %d% echo. pause
截取的作用
函数的局部变量
局部变量放在SETLOCAL与ENDLOCAL之间定义。
SETLOCAL可以很好的保护函数内与外面的变量不会冲突。即:
setlocal set var1=xxx set var2=xxx endlocal
相关文章推荐
- Python3学习(一)-基础、数据类型、变量、字符串和编码、list&tuple、if、for、while、dict、set、函数与参数
- 黑马程序员——Java基础---环境变量与DOS命令与代码书写与标识符命名等
- Linux下env、export、echo和set命令的用法与区别(Linux环境变量的设置)
- [No0000A4]DOS命令(cmd)批处理:替换字符串、截取字符串、扩充字符串、获取字符串长度
- 黑马程序员学习日记——java语言基础,dos命令,环境变量搭建
- 关于DOS(windows命令行)截取变量中字符串问题的详细说明
- bat文件中使用DOS命令如何截取字符串&如何执行“字符串命令”&获取文件文件内容并赋值给变量
- 怎样截取Swarm集群令牌?shell命令输出的信息,截取其中一段,作为字符串变量
- DOS命令 DOS批处理 ECHO 系统变量 (转载)
- 批处理命令中set定义的两种变量介绍 计算机基础知识
- 学习笔记:dos控制台下用set命令设置classpath临时变量分号问题
- 黑马程序员_JAVA基础——常用DOS命令,环境变量配置
- echo命令_Linux echo 命令用法详解:输出指定的字符串或者变量
- DOS命令(cmd)批处理:替换字符串、截取字符串、扩充字符串、获取字符串长度
- centos shell编程5 LANMP一键安装脚本 lamp sed lnmp 变量和字符串比较不能用-eq cat > /usr/local/apache2/htdocs/index.php <<EOF重定向 shell的变量和函数命名不能有横杠 平台可以用arch命令,获取是i686还是x86_64 curl 下载 第三十九节课
- dos命令之 set (显示、设置或删除 cmd.exe 环境变量) 用法详解以及使用变量
- dos通过for命令截取字符串
- Python【基础:数据类型和变量 字符串和编码 list和tuple 条件判断 循环 dict和set】注意事项(与java,c比较)
- ruby -- 基础学习(八)中文字符串截取的函数
- php 输出带变量字符串(echo 函数的应用)