从传递给批处理文件的参数中移除双引号

3

我正在这样调用一个批处理文件:

test.bat C:\

在批处理文件中,将C:\参数传递给命令的方法如下:

start program.bat "%1"

我发现program.bat是这样启动的:
program.bat "C:\"

是否可以从参数中删除包含的引号,以便program.bat接收C:\而不是"C:\"


1
如果你不想要引号,为什么要传递 "%1" - Mat
1
@Mat 我的印象是你必须... - James
@James 是的,如果参数包含一个或多个空格字符,你就需要这样做。例如:program.bat "C:\Program Files\" - DavidRR
1个回答

3

%1 会原封不动地返回第一个参数。也就是说,如果第一个参数被引号包围,那么它们将被保留。

%~1 在返回参数前会去掉引号。

因此,在需要使用第一个参数的值而不带引号的情况下,请在 program.bat 中使用 %~1


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接