.bat批处理(三):变量声明、设置、拼接、截取

前言

在使用批处理脚本的时候我们常常会有这类需求,比如需要设置一个变量来存储数据,简化程序书写;拼接现有的内容得到新的变量;截取变量的一部分来满足我们的要求,这些需求都是我们经常需要的,接下来我们设计一个情景来实现这些需求。

内容

  • 情景设计

    假设我们的批处理脚本要实现这样一个功能:从控制台接收参数,前两个参数为信息发送者,第三个参数为信息接收者,最后一个参数为信息内容,请输出所有发送者、接收者和信息内容。

  • 代码实现,新建一个文件命名为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了,后两个单词就被丢掉了。

猜你喜欢

转载自blog.csdn.net/qq_25600055/article/details/80900065