前言
在使用批处理脚本的时候我们常常会有这类需求,比如需要设置一个变量来存储数据,简化程序书写;拼接现有的内容得到新的变量;截取变量的一部分来满足我们的要求,这些需求都是我们经常需要的,接下来我们设计一个情景来实现这些需求。
内容
情景设计
假设我们的批处理脚本要实现这样一个功能:从控制台接收参数,前两个参数为信息发送者,第三个参数为信息接收者,最后一个参数为信息内容,请输出所有发送者、接收者和信息内容。
代码实现,新建一个文件命名为test_set.bat然后编写如下代码:
@echo off
::设置变量
SET Sender1=%1
SET Sender2=%2
SET Receiver=%3
SET Content=%4
::字符串拼接
SET Sender = %Sender1%, %Sender2%
::字符串截取
SET RealContent=%Content:~1,-1%
echo Sender = %Sender%
echo ---------------------------------/
echo Receiver = %Receiver%
echo ---------------------------------/
echo Content = %Content%
echo ---------------------------------/
echo RealContent = %RealContent%
echo ---------------------------------/
pause
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
运行结果如下:
F:\batTool>test_set.bat tom jerry xiaoming "I miss you"
Sender = tom, jerry
———————————/
Receiver = xiaoming
———————————/
Content = “I miss you”
———————————/
RealContent = I miss you
———————————/
请按任意键继续…
总结
这其中有几个点需要注意,首先变量设置只需要使用SET 任意变量名=所要表达的内容;
变量的拼接只要把变量依次写在一起就可以,形如SET 变量=变量1变量2 内容3,字符串4,不同部分之间可以没有连接符,直接相连或者用空格。
变量的截取需要使用固定的格式%变量:~a,b%,这就表示把变量从第a个字符截取到第b个字符,b可以为负数,表示从字符串后面计数,-1表示最后一个字符。
关于例子中信息内容这最后一个参数,其中的双引号使我故意加的,也是非常必要的,这样可以把这句包含空格的话作为一个变量传递到批处理脚本中,如果不加双引号的话,变量Content的内容就是I了,后两个单词就被丢掉了。
---------------------
作者:AlbertS
来源:CSDN
原文:https://blog.csdn.net/albertsh/article/details/52797519
版权声明:本文为博主原创文章,转载请附上博文链接!