从传递给批处理文件的参数中删除双引号
我正在调用这样的批处理文件:
test.bat C:\
C:\
参数被传递给批处理文件中的命令,如下所示:
start program.bat "%1"
我发现 program.bat
的启动方式如下this:
program.bat "C:\"
是否可以从参数中删除括起来的引号,以便 program.bat
接收 C:\
而不是 "C:\"
?
I am calling a batch file like this:
test.bat C:\
The C:\
parameter is passed to a command within the batch file like this:
start program.bat "%1"
I am finding that program.bat
is starting like this:
program.bat "C:\"
Is it possible to remove the enclosing quotation marks from the parameter so that program.bat
receives C:\
instead of "C:\"
?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
%1
按原样计算第一个参数。也就是说,如果参数用引号括起来,它们将被保留。%~1
在求值之前去掉引号。因此,在
program.bat
中使用%~1
,您需要使用第一个参数的值(不带引号)。%1
evaluates to the first parameter as-is. That is, if the parameter is enclosed in quotation marks, they will be preserved.%~1
strips the quotation marks before evaluating.So, use
%~1
inprogram.bat
where you need to use the value of the first parameter without quotation marks.