我有一个 file.bat,我通过 Windows 中的命令行运行它。
它需要读取一些字符,例如%
密码^
。
当我运行脚本时,我看到 shell 没有读取这些字符。
我能做些什么来解决这个问题?
我有一个 file.bat,我通过 Windows 中的命令行运行它。
它需要读取一些字符,例如%
密码^
。
当我运行脚本时,我看到 shell 没有读取这些字符。
我能做些什么来解决这个问题?
您需要使用^
.
为了逃避^
你使用另一个^^
正如 jeb 正确指出的那样,您无法%
在命令行上转义 's,但是当在变量字符串中使用它们设置变量时,它似乎接受了它们。
set p=hello%
echo %p%
hello%
试试这个:
setlocal EnableDelayedExpansion
set var=something
for /f "delims=" %%a ("!var!") do
(
endlocal
set "result=%%~a"
)
这将使命令提示符从var - source读取特殊字符