IT

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

lottoking 2020. 6. 13. 09:36
반응형

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


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

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

ls -l \
/usr/

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

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


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

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

C:\Users\Tim\Desktop>

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


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

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

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

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

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

C:\ ^
"SampleText" ..

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


이 질문에 대한 답변을 찾고 있지만 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"

참고 URL : https://stackoverflow.com/questions/605686/windows-how-to-specify-multiline-command-on-command-prompt

반응형