mil*_*uuu 2 cmd batch-file command-prompt
我正在制作一个域解析器,但我不喜欢文本在窗口边框处的方式。该行是set /p domainname=Enter Domain Name^> %ESC%[92m
我想在它说的地方之前添加一个空格Enter Domain Name>
这就是它的样子
所以它不会紧贴窗口边框,这会让它看起来更好一些。我该怎么办呢?我还没有找到任何关于如何解决这个问题的信息。
作为替代方案,您可以使用提示技术来显示任何文本消息(最多 511 个字符长),而不必担心前导空白字符。
其工作原理如下:
set "prompt=Your text message"
cmd /d /k <nul
set /p "myVar="
Run Code Online (Sandbox Code Playgroud)
将其放入可重用函数中:
@echo off
setlocal EnableExtensions
call :getInput domainname " Enter Domain Name > %ESC%[92m"
echo domainname is [%domainname%]
pause
exit /b
:getInput <inputVar> ["Message String"]
setlocal DisableDelayedExpansion
set "Msg=%~2"
if defined Msg (
REM For prompt strings, $ is an escape character so it should be escaped with another one.
set "prompt=%Msg:$=$$%"
"%COMSPEC%" /d /k <nul
)
endlocal
set /p "%~1="
exit /b
Run Code Online (Sandbox Code Playgroud)