Windows : 명령 프롬프트에서 여러 줄 명령을 지정하는 방법?


170

다음 줄로 명령을 어떻게 확장합니까?

기본적으로 리눅스에 대한 Windows 대안은 무엇입니까

ls -l \
/usr/

여기서 우리는 백 슬래시를 사용하여 다음 줄에서 명령을 확장합니다.

창문에 해당하는 것은 무엇입니까?


짧고 간결한 Q & A의 경우 +1, stackoverflow.com/questions/69068/
matt wilkie

답변:


295

키보드에서 거의 모든 키를 시도한 후 :

C:\Users\Tim>cd ^
Mehr? Desktop

C:\Users\Tim\Desktop>

따라서 ^ 키인 것 같습니다.


13
Microsoft는 자체 표준을 준수 할 수 없으므로 PowerShell에서는 작동하지 않습니다. ^에 해당하는 PowerShell은`So C : \ Users \ Tim>
cd`

3
@RicJafe 왜해야합니까? PowerShell은 완전히 분리되어 있습니다! PS와 동등한 키는`입니다.
WhatIsHeDoing

Powershell에 무엇이 있는지 알고 있습니까?
Ryan

3
@RyanSeanWattrus 매우 과학적인 방법을 사용합니다 :`(l' accent grave)
Timbo

57

Windows 명령 프롬프트 ^에서는 명령 행에서 다음 문자를 이스케이프하는 데 사용됩니다. (마찬가지로 \문자열에 사용됩니다.) 명령 행에서 사용할 문자는 앞에 ^를 붙여야하므로 개행에서 작동합니다.

참고로 이스케이프해야하는 문자 (따옴표없이 명령 인수로 지정된 경우)는 다음과 같습니다. &|()

따라서 리눅스 예제와 동등한 것은 ( More? 는 프롬프트입니다) :

C:\> dir ^
More? C:\Windows

15
'^'문자는 줄의 마지막 문자 여야합니다. 그렇지 않으면 끝에 SPACE가 있으면 여러 줄 명령이 작동하지 않습니다.
Dmytro Ovdiienko 2016 년

6

캐럿 문자는 작동하지만 다음 줄은 큰 따옴표로 시작해서는 안됩니다. 예 : 이것은 작동하지 않습니다 :

C:\ ^
"SampleText" ..

큰 따옴표없이 다음 줄을 시작하십시오 (유효한 예제가 아니며 설명하기 위해)


1

이 질문에 대한 답변을 찾고 있지만 OP의 의미와 정확히 일치 하지 않는 방법, 예를 들어 멀티 라인 CMD를 단일 에서 작동하게하려면 줄로 시키는 방법을 찾으면 위험한 답변이 있습니다.

실제로 파이프를 사용하는 것과 같이 이것을 사용하는 findstr것은 상당히 문제가 있습니다. 동일하게 처리elses도 입니다. 그러나 여러 줄 조건부 명령을 배치 파일이 아닌 CMD에서 직접 실행하려면이 방법이 효과적입니다.

명령 프롬프트에서 직접 실행하려는 배치에 다음과 같은 것이 있다고 가정 해 봅시다.

@echo off
for /r %%T IN (*.*) DO (
    if /i "%%~xT"==".sln" (
        echo "%%~T" is a normal SLN file, and not a .SLN.METAPROJ or .SLN.PROJ file
        echo Dumping SLN file contents
        type "%%~T"
    )
)

이제 줄 연속 캐럿 (^ )을 사용하여 수동으로 입력 할 수는 있지만 지루하고 경고가 나면 다시 입력하는 기쁨을 배울 수 있습니다.

음, 그냥 작동하지 않습니다 ^괄호 안에 메커니즘을 탈출 덕분에 어깨를 으쓱 적어도하지 작성된-. 실제로 캐럿을 두 배로 늘려야합니다.

@echo off ^
More? for /r %T IN (*.sln) DO (^^
More? if /i "%~xT"==".sln" (^^
More? echo "%~T" is a normal SLN file, and not a .SLN.METAPROJ or .SLN.PROJ file^^
More? echo Dumping SLN file contents^^
More? type "%~T"))

대신, |루프 / 표현이 지속될 때마다 캐럿이 필요없는 트랙의 반대쪽에서 더러운 몰래 스크립터가 될 수 있습니다 .

@echo off
for /r %T IN (*.sln) DO if /i "%~xT"==".sln" echo "%~T" is a normal SLN file, and not a .SLN.METAPROJ or .SLN.PROJ file | echo Dumping SLN file contents | type "%~T"
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.