2

我有一个 file.bat,我通过 Windows 中的命令行运行它。

它需要读取一些字符,例如%密码^

当我运行脚本时,我看到 shell 没有读取这些字符。

我能做些什么来解决这个问题?

4

2 回答 2

5

您需要使用^.

为了逃避^你使用另一个^^

正如 jeb 正确指出的那样,您无法%在命令行上转义 's,但是当在变量字符串中使用它们设置变量时,它似乎接受了它们。

set p=hello%
echo %p%
hello%
于 2012-11-07T16:08:48.157 回答
1

试试这个:

setlocal EnableDelayedExpansion
set var=something
for /f "delims=" %%a ("!var!") do
(
  endlocal 
  set "result=%%~a"
)

这将使命令提示符从var - source读取特殊字符

于 2012-11-07T22:25:32.460 回答