批处理文件:如何在设置/ p后生成文本?

时间:2017-01-28 12:16:00

标签: batch-file variables text cmd set

我发现,不久前,有一个脚本使用文本包围的set / p,以便输出看起来像:

Welcome to my code!
Please Enter your username
(Set /p was here)
>
More text
more text

基本上我假设有一些方法可以在更多文本之后才能激活set / p。到目前为止,我有:

echo Welcome to my code!
echo please Enter your username
set /p username=">"                     <This is what needs to be changed
echo Enter password
echo ">"
echo Enter Server IP
echo ">"
pause

也许set / p可以放在脚本的末尾但是被告知要激活顶部?我花了很长时间寻找这个,但我不知道该怎么做,因此,我没有得到任何结果。谢谢!

1 个答案:

答案 0 :(得分:1)

你需要光标定位。
最近版本的Windows 10确实支持ANSI Escape序列。 根据您的编辑器生成序列 esc 可能很困难。 绝对光标位置是 esc [y; xH

因此,打印输入表格,然后通过这种方式进行到位置:

@Echo off
Cls
echo Welcome to my code!
echo please Enter your username
echo ^>
echo Enter password
echo ^>
echo Enter Server IP
echo ^>
Echo: 
set /p nameuser=esc[3;3H
set /p password=esc[5;3H
set /p serverIP=esc[7;3H
pause

您已使用转义符号替换esc 在Notepad ++中,您可以通过按住 alt 并键入027 ​​

来输入转义符号。