bat中如何处理参数的引号

如果调用bat时,某一个参数包含空格,那么需要调用者将参数放在双引号中,这时候就遇到一个问题,有些参数包含双引号,有些则没有,如何能够对这些参数进行统一的处理。

脚本语句

01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
@ECHO off
 
REM 读取第一个参数
 
SET param=%1
 
REM 不论param有没有双引号,都给其加上
SET param="%param%"
 
REM 将param中的所有双引号删除
SET param=%param:"=%
 
REM 给没有双引号的param加上双引号
SET param="%param%"
 
ECHO “%param%”
 
EXIT

其中最后一步是为了保证带空格的参数可用,如果确认所有的参数都没有空格,也可以把最后一步去掉。

注意:如果参数中本身就包含双引号,这段代码就失效了。

发表评论

欢迎阅读『bat中如何处理参数的引号|Windows、Windows10、Windows7、Windows8、操作系统|Nick Tan-梓潼Blog』