cmd.exe
아래 에서처럼 명령의 일부로 줄 바꿈 또는 줄 바꿈 을 사용하여에 명령을 실행하려고 합니다.
command -option:text
whatever
그러나 모든 새로운 줄은 다음 줄에서 명령을 계속하는 대신 명령을 실행합니다.
어떻게 새 줄 문자를 입력하거나 cmd.exe에서 여러 줄 명령을 만들 수 있습니까?
cmd.exe
아래 에서처럼 명령의 일부로 줄 바꿈 또는 줄 바꿈 을 사용하여에 명령을 실행하려고 합니다.
command -option:text
whatever
그러나 모든 새로운 줄은 다음 줄에서 명령을 계속하는 대신 명령을 실행합니다.
어떻게 새 줄 문자를 입력하거나 cmd.exe에서 여러 줄 명령을 만들 수 있습니까?
답변:
^
이스케이프 문자를 사용하십시오 :
command -option:text^
whatever
Windows XP 또는 유사한에서 cmd.exe를 사용한다고 가정합니다. 이것은 실제 DOS가 아닙니다. 실제 DOS (MS-DOS, Win3.1, Win95, Win98, WinME)를 사용하는 경우 줄 바꿈에 대한 탈출구가 없다고 생각합니다. 사용자 정의 쉘을 실행해야합니다. cmd.exe가 "More?"를 묻는 메시지를 표시합니다 ^
줄 끝에서 Enter 키를 누를 때마다 Enter 키를 다시 누르면 실제로 줄 바꿈을 피할 수 있습니다.
SHUTDOWN.EXE
명령 의 주석에 줄 바꿈을 넣는 방법을 찾으려고 노력했다 . 나는 다음과 같은 것을 사용하게되었습니다 : shutdown -s -t 900 -c "foo bar"^
> More? "baz"^
> 더? "test that."
효과가있었습니다.
C:\>ver
Microsoft Windows [Version 6.3.9600]
C:\>echo Line1◙Line2 >con
Line1
Line2
C:\>
해당 행 피드 문자는 숫자 키패드를 사용하여 CLI 에서 Alt 코드 로 입력 할 수 있습니다 . NumLock을 켜고 ALT를 해제하기 전에 ALT를 누른 상태에서 숫자 키패드에서 10을 입력하십시오. CR도 필요한 경우 Alt + 13과 Alt + 10을 함께 입력하십시오.♪◙
참고 : 이것은 배치 파일에서 작동하지 않습니다.
샘플 사용 사례 :
% PATH % 또는 % CLASSPATH % 환경 변수를 읽으면서 현재 상태와 순서를 간략히 살펴 보려고하지만 path
반환 되는 텍스트의 벽을 읽을 수 없습니다. 그런 다음 빠르게 입력 할 수 있습니다.
echo %path:;=◙% >con
편집하다:
>con
Brent Rittenhouse가 원래 방법이 작동을 멈춘 새로운 버전의 cmd.exe에 대해 발견 한 해결 방법을 추가 했습니다.
e2 99 aa e2 97 99
통과로 끝납니다 . 어떤 종류의 유니 코드 코드 포인트? 커맨드 라인에 문자가 들어가는 것을 볼 수 있습니다. 어떤 제안?
Use legacy console
선택 하면 오래된 동작을 얻을 수 있음을 깨달았습니다 . 그러나 고해상도 모니터에서는 정말 좋지 않습니다.
(echo New-line detected rigghhhtt ◙^<--- HERE!) > CON
. 주변 괄호는 선택 사항입니다. 여기에 당신이 무엇을 할 수의보다 강력한 예이다 (완전히 독립적으로 캐리지 리턴하는 지금 일을하고!) : i.imgur.com/qqN37PH.png
Amit의 답변을 확장 ( /superuser//a/1132659/955256 ) 레거시 콘솔을 사용하지 않고 모든 글꼴로이를 수행하는 방법을 찾았습니다.
당신이해야 할 일은 단순히 alt-10 문자로 줄을 에코 한 다음 리디렉션하여 con
작동하면됩니다!
예를 들면 다음과 같습니다.
(echo New-line이 rigghhhtt를 감지했습니다 ◙ ^ <--- HERE!)> CON
편집 : 재미있는 사실, 처음에 리디렉션을 다음과 같이 넣을 수있는 것 같습니다.
> CON echo 줄 바꾸기 감지 detected ^ <--- 여기!
이상해?
다음과 같은 결과가 나타납니다.
New-line detected rigghhhtt
<-- HERE!
주변 괄호는 선택 사항입니다.
다음 은이 AND 캐리지 리턴으로 수행 할 수있는 작업에 대한보다 강력한 예입니다.
무엇보다도 파일로 리디렉션하면 작동합니다!
(단순히 변경 > CON
에> desired_output_file.txt
즐겨!
^의 출력을 저장할 수 있습니다
set br= ^
<</br (newline)>>
<</br>>
예:
@echo off
setlocal enableExtensions enableDelayedExpansion
rem cd /D "%~dp0"
rem //# need 2 [/br], can't be saved to a var. by using %..%;
set br= ^
set "t=t1!br!t2!br!t3"
for /f "tokens=* delims=" %%q in ("!t!") do (
echo %%q
)
:scIn
rem endlocal
pause
rem exit /b
; 산출:
t1
t2
t3
Press any key to continue . . .
Windows cmd.exe
셸 에서는 그렇게 할 수 없다고 생각합니다 . ( DOS 가 아닙니다 . )
이를 위해 완전한 "사용자 정의 쉘"이 필요하지 않습니다. 다음과 같이 작성하면됩니다 (예 : Python의 ).
import subprocess
subprocess.call(["C:\\bin\\sometool.exe", "test\nwith\nnewlines"])
또는 루비 :
Kernel::exec "C:\\bin\\sometool.exe", "test\nwith\nnewlines"
봐, 그렇게 어렵지 않아.