3

这是关于如何在批处理文件中转义 & 符号的问题的延续?.

该问题提出了一些在批处理文件中使用与号的方法。但是,似乎这些都不适用于函数参数。例子:

@echo off
setlocal EnableDelayedExpansion

call:myFunction "http://www.google.com/search?client=opera&q=escape+ampersand"

goto:eof

:myFunction
echo Param is: %~1
goto:eof

我总是会得到

Param is: http://www.google.com/search?client=opera
'q' is not recognized as an internal or external command,
operable program or batch file.

我试图^逃避它,但这似乎也不起作用。有办法吗?

如果重要的话,我的实际用例是为 wget 提供一个下载 URL,该 URL 在批处理函数中被调用。

4

2 回答 2

2

现在觉得有点傻...

@echo off
setlocal EnableDelayedExpansion

call:myFunction "http://www.google.com/search?client=opera&q=escape+ampersand"

goto:eof

:myFunction
echo Parameter is: "%~1"
goto:eof

结果:

Parameter is: "http://www.google.com/search?client=opera&q=escape+ampersand"
于 2012-12-24T12:43:44.013 回答
1

^&是正确的转义方式,但通常不需要双引号。

资料来源:转义字符

于 2012-12-26T16:14:05.677 回答