2012-03-30 3 views
2
@echo off 
for /f %%a in (httpd.conf) do (
echo %%a 
) 

I는 다음과 같습니다 파일이 있습니다방지 cmd를 공간 구분 기호를 읽을

ServerRoot 
Listen 
LoadModule 
LoadModule 

: 내가 배치 파일을 실행할 때

ServerRoot "C:/xampp/apache" 
Listen 80 
LoadModule actions_module modules/mod_actions.so 
LoadModule alias_module modules/mod_alias.so 

는하지만,이 출력을 그것은 cmd가 첫 번째 공백 문자까지 줄을 가져 오는 것 같습니다 ... 아무도 전체 줄을 가져 오는 방법을 알고 있습니까?

내가 명령에 대한에 옵션을 추가하려고했습니다 ...이 시도되었고, 이러한 모든 실패 :

for /f "eol=# tokens=1-9 delims=¬" 
for /f "tokens=* delims=¬" 
for /f "tokens=* delims=:\=" 
for /f "tokens=1-6" 

답변

2

공백이 포함 된 줄을 처리하려면 명령에 "delims ="를 추가하십시오.

@echo off 
for /f "delims=" %%a in (httpd.conf) do (
echo %%a 
) 

은 또한 당신이 "delims =, +"

에 그냥 문자를 추가하려면 등의 쉼표와 같은 목록, 더 구분 기호를 추가 할 수 있습니다 : 그래서, 당신의 코드는 다음과 같은 비트를 찾아야한다
+0

이것은 작동하지 않습니다. 너 해봤 어? – adarshr

+0

있습니다. 나는이 명령을 사용하여 이름에 공백이 포함 된 파일을 복사합니다. –

+0

죄송합니다. 거기에 여분의 공간을 추가 한 것 같습니다. 구획 문자의 공백을 제거하십시오. –

2

당신은 아래 옵션을 시도하지 않았다, 나는 내기. = 뒤에는 공백이 없습니다.

for /f "delims=" %%a in (httpd.conf) do (
    echo %%a 
) 
관련 문제