명령 프롬프트에서 TAB 문자를 에코하는 방법


21

Windows 배치 파일에서 TAB? 를 에코하는 올바른 방법은 무엇 입니까?

echo A<TAB>B<TAB>C

TAB항목 사이 에 문자를 입력 할 수는 있지만 대부분의 편집자는 이 문자를 일련의 공백으로 표시합니다. 일부는 자동으로 공백으로 변환하기도하지만 더 시각적 인 것을 찾고 있습니다.

설명 : <TAB> 여기는 실제 탭 문자를 의미합니다. 배치 스크립트에서 C \ t를 찾고 있습니다.


편집기를 사용해 보았고 일련의 공백으로 "가장 많은"표시 탭을 찾았습니까? 그것들은 무엇입니까? 내가 시도한 첫 번째 편집기는 메모장이며 탭을 탭으로 표시합니다.
barlop

답변:


17

TAB예를 들어 메모장을 지원하는 편집기 에서 키를 누르십시오 .

그래서, 이것을 입력하면 :

@echo 1<TAB>b
@echo 2<TAB>c

결과는 다음과 같습니다.

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


1
그것은 작동하고 내가하는 일입니다. 문제는 파일을 편집하는 사람이 의도하지 않은 채 이상한 위치에있는 탭을 대체 할 수 있다는 것입니다.
Haas

5
@Haas : set TAB=<TAB>이것이 탭 문자임을 분명히하고 %TAB%나중에 사용하는 것은 어떻습니까? 내가 아는 한 echo파싱 ​​만합니다 %...%. 이는 기본 제공되지-에 탭 문자까지로 나는 ... 알고 있어요로
타마라 Wijsman을

@barlop : 무엇 ......? xD
타마라 Wijsman

1
Tom Wijsman의 제안을 사용하지만 인용문을 사용합니다. SET "TAB= "여기서 공백은 실제로 TAB (0x09) 문자입니다. 그것은 차선책이지만 분명히 내가 본 최고의 대안 인 것 같습니다.
조명

Tab 키를 누를 때 TAB 문자를 가져 오려면 cmd /F:OFF파일 / dir 자동 완성을 비활성화하는 것과 같은 명령 프롬프트를 시작해야합니다 . names ...
aschipfl

11

한 가지 해결책은 TAB이라는 환경 변수를 설정하고 값을 실제 탭 문자로 설정할 수 있다는 것입니다. 텍스트 편집기에서 탭 문자를 복사하여 붙여 넣어야 올바르게 입력 할 수 있습니다. 나는 이것을 Windows 7에서 시도했지만 작동합니다.

배치 파일에서 % TAB %를 사용하면 탭 문자가 삽입됩니다.


3
이 답변이 댓글의 어딘가에있을 수 있다면 +1 sombody이 당신에게 투표했습니다. 그러나 답변은 주석이 아닌 답변에서 찾을 수 있어야합니다. 그러므로
기적적인

3

이와 같은 제한은 Windows 스크립트 호스트 또는 Powershell을 사용하는 이유 중 하나입니다.

Windows Script Host 는 98 이상의 모든 Windows 버전과 함께 제공 되며 95 및 NT 4에 설치할 수 있습니다.

라는 파일을 작성 demo.vbs하고 다음 행을 붙여 넣어 저장하십시오.

WScript.StdOut.WriteLine "a" + chr(9) + "b"

이제 저장 한 디렉토리에서 다음을 입력하십시오.

demo.vbs

그리고 당신은 볼 수 있습니다 :

a       b

당신은 또한 할 수 있습니다

cscript demo.vbs

cscript제공 하는 명령 줄 스위치를 사용할 수 있습니다 .

(Vista에서 테스트했습니다.)


Powershell은 매우 훌륭하지만 항상 유용한 것은 아닙니다 ...
Haas

@Haas : 편집 한 답변을 참조하십시오.
추후 공지가있을 때까지 일시 중지되었습니다.

고마워 데니스 나는 더 새롭고 더 나은 것을 사용하고 싶지만,이 특정 스크립트에 대해 내가 가진 하나의 옵션입니다.
Haas

@Haas : 방금 "보다 시각적 인 것을 찾고 있습니다"는 요구 사항이라고 생각했습니다.
추후 공지가있을 때까지 일시 중지되었습니다.

1

다음은 배치 파일에서 powershell을 사용하는 한 줄 솔루션입니다.

Powershell -noprofile -nologo -command Write-Output "a`tb`tc"

`t는 ​​탭 문자이다


아, 누군가가 이미 말하지 않는 한 powershell은 금기입니다.
Pacerier

0

탭을 그대로 유지하는 편집기를 사용하는 한 sed를 다운로드 하여 경로에 놓은 후 다음과 같은 작업을 수행 할 수 있습니다.

echo "A`B`C" | sed 's/\t/<TAB>/g'

여기서 각`는 실제 탭을 나타냅니다.



-1

잘 알려져 있지는 않지만 기본적인 방법은 TAB일반 ASCII chr (9)를 사용하여 CMD에 보내는 것입니다. 이 특수 문자는 Left-ALT를 누른 상태에서 숫자 키보드에서 9를 눌러 호출 할 수 있습니다. 굵은 체로 보이는 Char가 나타나야합니다. 그렇지 않으면 어떤 종류의 인코딩 또는 키보드 매핑이 켜져 있습니다.

편집기가 일반 ASCII 인코딩 또는 이진 모드로 설정된 경우이 시퀀스를 파일에 저장할 수 있습니다. 그런 것이 없다면 CMD를 타이핑하십시오.

ECHO a (sequence LALT+9) b > tabchk.bat tabchk.bat


2
탭 자체를 누르는 것보다 낫거나 다른 점은 무엇입니까?
Máté Juhász
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.