복합 명령을위한 도스 키


32

Doskey는 최신 버전의 Windows에서 단일 명령의 별칭을 설정하기 위해 작동합니다 (예 :) doskey foo=bar.

doskey foo=bar & baz해석되기 때문에 복합 명령에 사용하려고 시도하는 데 약간의 문제가 있습니다 (doskey foo=bar) & baz. 명백한 수정은 명시적인 괄호를 추가하는 doskey foo=(bar & baz)것이지만 어떤 이유로 든 작동 doskey foo="bar & baz"하지 않으며 작동하지 않습니다.

이 작업을 수행하는 방법이 있습니까?

답변:



19

$T명령을 분리하는 데 사용하십시오 .

doskey foo = bar $ T 바즈
doskey cpdel = 복사 $ 1 $ 2 $ T 델 $ 1

부터 doskey /?:

$ T 명령 분리기. 매크로에서 여러 명령을 허용합니다.

7

Dennis Williamson의 답변 에 (약간) 추가하려면 명령을 파이프하기 위해 파이프 문자를 이스케이프 처리 할 수도 있습니다! 예를 들어, 클립 보드에 내용을 복사하는 명령이 필요했습니다. COPY해석 방법 에 따라 줄 바꿈없이 지정한 텍스트를 실제로 복사하려면 구피 명령 을 수행해야합니다 .

클립 보드에 복사 할 매크로를 정의하려면 다음을 사용하여 파이프를 이스케이프 할 수 있습니다 ^.

doskey cc=echo^|set /p=$*^|clip

명령을 실행 cc hey하면 이제 hey클립 보드에 복사되었습니다!


또한 줄 바꿈 문자의 사본을 방지하는 방법이 궁금했습니다! 감사.
Alex Vallejo

7

이전 답변에 추가하려면 다음을 수행하십시오.

mybatfile.cmd

    doskey /macrofile=aliases.txt

aliases.txt

    foo = 바 & 바즈
    cpdel = 복사 $ 1 $ 2 $ T 델 $ 1
    cc = 에코 | 세트 / p = $ * | 클립

매크로 파일에는 파이프 / 앰퍼샌드를 이스케이프 할 필요가 없으며 한 번의 호출로 여러 개의 별칭을 정의 할 수 있습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.