bat中如何处理参数的引号

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

脚本语句

@ECHO off

REM 读取第一个参数

SET param=%1

REM 不论param有没有双引号,都给其加上
SET param="%param%"

REM 将param中的所有双引号删除
SET param=%param:"=%

REM 给没有双引号的param加上双引号
SET param="%param%"

ECHO “%param%”

EXIT

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

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

发表评论