2012-09-20 2 views
7

나는 에코를 사용하여 DOS에서 파일에 뭔가를 인쇄 할 때 공백이 문자열에 추가된다는 것을 알아 차렸다. 후행 공간없이 문자열을 인쇄해야합니다. 방법이 있습니까, 또는 해결 방법으로 파일에서 후행 공백을 제거 할 수 있습니까?DOS에서 뒤 공백없이 에코 사용하기

답변

19

문제가 올바르게 이해되면 뒤에 공백을 썼습니다. 대신

echo string > file 

사용

echo string>file 
+0

하! 그게 다야! echo가 정확한 문자열을 출력한다는 것을 깨닫지 못했습니다. 감사! – Rayne

+2

이것은 좋은 것처럼 보이지만 작동하지 않습니다. 이것을 시도해보십시오 :'echo 1 2 3> file'. 문자열의 끝이 숫자로 끝나면 리디렉션은 해당 문자열을 파이프 채널로 처리합니다. 따옴표로 묶을 수도 있지만 따옴표로 묶지 않아도됩니다. – Synetech

+2

@Synetech'(echo 1 2 3)> file ' – bers

0

는 빠른 검색 여러 옵션이 보인다 this link

저를 가져왔다. 당신이 포스트 에코 스크립트를 사용하여 파일을 구문 분석 할 경우, 후행 공백을 냄니다 파일 (일반적으로이 .txt)을 통해 라인으로, 선 루프, 그리고 RTrim을 수행하는이 VBScript를

Do While Not WScript.StdIn.AtEndOfStream 
    WScript.Echo RTrim(WScript.StdIn.ReadLine) 
    Loop 

을 고려할 수 있습니다.

건배 당신이보다는 약 cmd.exe을 이야기하고 가정

+0

'for/f '토큰 = * delims = "%% x in (file.txt) echo % x> file2.txt를 사용하여 배치를 통해 동일한 작업을 수행 할 수 있습니다. '. 그런데 원래 파일에서 그렇게하지 않으시겠습니까? –

10

실제 (오히려 오래된) MSDOS가이 작업을 수행하는 방법은, 최초의 존재가 :

echo Here is some text>output.txt 

하지만, 커맨드 라인에서 '논쟁'을 명확하게 묘사하는 데 익숙해 져서 읽기보다 다소 적습니다.

또는 명령 줄의 순서 주위에 교환에서 당신을 중지 아무것도 없다 : 당신은 여전히 ​​당신의 출력 파일에 넣어 외부 공간을 가지고 있지 동안 인수를 분리 할 수 ​​

>output.txt echo Here is some text 

.

는 사실, 나는 종종뿐만 아니라 코드 블록이 방법을 사용했습니다 :

>output.txt (
    echo hello 
    echo goodbye 
) 

가있는 파일에 모두 라인을 작성합니다. 이 경우 코드 블록의 끝 부분을 보지 않고 출력이 시작되는 시점에서 바로 알 수 있기 때문에이 방법이 더 좋습니다.

+0

나는 코드 블록 내부에서 에코 될 때 캐리지 리턴을 잃어 버리고 한 줄로 출력된다는 것을 발견했다. –

+0

나는 또한 공백 문자 때문에 문제가 생겨서 위의 형식으로 캐럿 (^) 이스케이프를 사용했습니다 : echo^string1. 치료를 했어. – will

+0

'echo 다음은 일부 텍스트> 출력입니다.txt 하지만 명령 행에서 '인수'를 명확하게 설명하는 데 익숙해지기 때문에 읽을 수있는 것보다 다소 적습니다. 더 중요한 것은 텍스트가 숫자로 끝나면 파이프 채널로 처리된다는 것입니다. 두 번째 것은 잘 작동하는 것 같습니다 (이전에 그 형식을 본 것을 기억하지 않습니다). 감사. – Synetech