como padd saída do SET / P?

0

Estou usando este menu simples em cmd onde eu preenchi meus ECHOs com a tecla TAB :

:MENU

ECHO    select this by pressing 0
ECHO(
ECHO    select this by pressing 1
ECHO(
SET /P ANSWER="press something:"

existe uma maneira de como preencher a saída de SET /P ANSWER= ??

Eu tentei com TAB e / ou SPACE , mas não funciona. parece assim:

     select this by pressing 0

     select this by pressing 1

press something:_

e eu quero que seja assim:

     select this by pressing 0

     select this by pressing 1

     press something:_
    
por user902300 21.05.2018 / 16:27

1 resposta

1

Você pode usar algum caractere de controle, por exemplo backspace ( U+0008 ) como no trecho de código a seguir; uma dica: as teclas únicas podem ser capturadas do teclado usando choice command (consulte o script)

@ECHO OFF
SETLOCAL EnableExtensions

     rem get backspace character to BS variable
for /F %%a in ('echo prompt $H ^| cmd') do set BS=%%a

:MENU
ECHO(
ECHO    select this by pressing 0
ECHO(
ECHO    select that by pressing 1
ECHO(
     rem       ↓ this character is deleted in output by backspace
SET /P "ANSWER=X%BS%   press something: "
ECHO(
echo    "%ANSWER%" entered; another approach using CHOICE command:
ECHO(
CHOICE /C 01 /N /M "X%BS%   Select [0] this or [1] that: "

Saída :

==> D:\bat\SU24661.bat

   select this by pressing 0

   select that by pressing 1

   press something: s

   "s" entered; another approach using CHOICE command:

   Select [0] this or [1] that: 1

==>
    
por 21.05.2018 / 17:26