배치에서 세트 / p 라인을 교체 하시겠습니까?


0

명령을 사용하여 사용자 입력을 요청하는 스크립트가 있습니다. set /p msg="Enter Message>"작동하지만 set 명령으로 작성한 행을 제거 할 수 있는지 궁금합니다.
설정 후 전류 출력 :

Hello there
My name is Bob
Enter Message> 1234
great 1234

설정 후 원하는 출력 :

Hello there
My name is Bob
great 1234

인쇄 된 콘솔에서 한 줄을 삭제할 수는 없지만 빈 프롬프트 나 cls를 사용하여 화면을 완전히 지울 수 있습니다.
Drako

답변:


1

나는 그것을 사용하여 그것을 할 수있었습니다 CLS. 경우에 따라 같은 줄에 다른 메시지를 인쇄 할 수도 있습니다. 그러나 ENTER사용자 입력에서 키를 누른 후에 수행 할 수 있는지 확실하지 않습니다 .

사용자 입력없이 같은 줄을 덮어 쓰려면 질문을 볼 수 있습니다 .

예상대로 작동하는지 확인하기 위해 두 개의 입력 및 출력을 사용했습니다. 제공 한 샘플 출력에 다른 행을 추가했습니다.

다음은 두 개의 사용자 입력을 위해 작성된 배치 파일입니다.

@ECHO OFF
SET UserInput1Done=0
SET UserInput2Done=0
:Start
CLS
ECHO Hello there
ECHO My name is Bob
IF %UserInput1Done%==0 (
    SET /P msg1="Enter Message 1>"
    SET UserInput1Done=1
    GOTO Start
)
ECHO great %msg1%
IF %UserInput2Done%==0 (
    SET /P msg2="Enter Message 2>"
    SET UserInput2Done=1
    GOTO Start
)
ECHO great %msg2%

위의 배치 파일 출력은 다음과 같습니다.

여기에 이미지 설명을 입력하십시오


그래, 난 cls를 피해야이 작동하지 않습니다. 그러나 나는 당신의 생각이 마음에 들며 최선을 다할 것입니다.
Mark Deven
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.