>、< 和 : 之类的字符在 Batch 中的变量之后

Characters like >, < and : after variables in Batch

所以我正在尝试制作一个小输入脚本。

脚本将显示以 > 和 space 结尾的当前路径,然后用户输入将在该路径之后。

set /p COMMAND=%~dp0 %=%

问题在于添加>。在获取当前目录的代码 %~dp0 之后,应该有一个 >。问题是,当我使用 %~dp0> 时,批处理抛出一个不正确的语法错误。

是否有解决此问题的方法? (或解决方法)。

感谢您的宝贵时间。

您需要使用插入符号转义 >

set /p command=%~dp0^>

或者只用引号将 "var=str" 对括起来。

set /P "command=%~dp0>"

顺便说一下,您可能要考虑使用 %CD% 而不是 %~dp0。如果工作目录与脚本目录不同,可能会与 %~dp0 混淆;而 %CD% 包含当前工作目录。 Here's a full list 个 Windows 个环境变量。