2009-07-07

如何剔除DOS批处理参数的双引号

考虑如下这条位于批处理文件demo.bat中的语句(语句1):
type file.ext | find /i %1
使用方法:
demo "test"
注意,需要加上引号。如果不想在参数上加引号,则批处理文件要这样写(语句2):
type file.ext | find /i "%1"
但是,这有个问题,比如参数字符串中间有空格,必须要双引号,比如
demo "it is"
那么,上面的语句2就没有办法了。

所以,需要一个不论参数是否有引号都管用的方法。请看:
set "var1=%~1"
type file.ext | find /i "%var1%"
则下面的使用都是可以的:
demo test

demo "it is"

No comments: