2013-03-08 7 views
0

텍스트 파일을 읽는 배치 스크립트가 있습니다. 파일 이름에 특수 문자가 포함되어 있지 않아도 정상적으로 작동하지만 파일 이름에 특수 문자가 포함 된 경우 오류가 발생합니다.텍스트 파일을 열려면 일괄 스크립트

예 파일 이름 : localhost_access_log.2013-03-08

코드 :

for /f "skip=%* tokens=*" %%b in (Y:\Program Files\Apache Software Foundation\Tomcat 7.0\logs\localhost_access_log.2013-03-08.txt) do (
    echo "Data Copied" 
) 

어떻게 이러한 파일 종류를 읽는 저를 도와주세요. 명령 줄에서

+0

파일 이름을 따옴표 "..."로 지정하십시오. 그렇지 않으면 공백이있는 파일 이름이 제대로 인식되지 않습니다. –

+1

...'usebackq' 옵션을 추가하십시오. – rojo

+0

당신을위한 특수 문자는 무엇입니까? (nota bene : 유니 코드 외부의 문자가 될 것입니다. 매우 특별 할 것입니다.) – Joey

답변

1

유형 help for는 명령에 대해 (내가 인정하는 읽기 오히려 어렵다)에 대한 설명서를 얻으려면, 당신은이 약 반쯤 묻혀 얻을 :

For file names that contain spaces, you need to quote the filenames with 
double quotes. In order to use double quotes in this manner, you also 
need to use the usebackq option, otherwise the double quotes will be 
interpreted as defining a literal string to parse. 

그래서 코드를 변경해야 여기까지 :

for /f "usebackq skip=%* tokens=*" %%b in ("Y:\Program Files\Apache Software Foundation\Tomcat 7.0\logs\localhost_access_log.2013-03-08.txt") do (
    echo "Data Copied" 
) 
관련 문제