2012-02-23 5 views
0

xml 파일에 탭과 공백이 있습니다. 이 파일에서 문자열을 검색하려고합니다. 파일은 다음과 같습니다. </ViewSettings>을 검색하려고합니다.이 탭과 공백으로 둘러싸여 있습니다. .bat - 파일에서 문자열을 확인하십시오.

<ViewSettings> 
    <Location> 
    <X>0</X> 
    <Y>0</Y> 
    </Location> 
</ViewSettings> 
<WorkspaceName="FREE_UST_BETA_UA" PAth="\\mktxindfs\data_configuration\FREE_BETA"  IsAdmin="false" /> 
</Workspaces> 

나는 그것은 인쇄되지 않습니다

echo off 
setlocal enabledelayedexpansion 

for %%X in (C:\add\WorkspaceXML\Workspaces.xml) do (
set "reference=</ViewSettings>" 
for /f "delims=" %%T IN (%%X) do ( 
     set output=%%T 
     echo output:!output! 
     if !output!==!reference! echo found reference..... 
    ) 
) 

아래의 코드는

+0

배치 파일이나 창 명령 줄 도구를 사용하여이 작업을 수행해야합니까? 다른 도구를 사용할 수 있습니까? –

답변

2

가 대신 findstr 떨어져 배치 파일을 만드는 생각 해 봤나

감사합니다 "참조 발견"이? 이 명령은 파일 이름을보고하여 문자열이 파일에 있는지 알려줍니다. 대신 findstr /N /O ...를 사용하는 경우

findstr /M /c:"</ViewSettings>" C:\add\WorkspaceXML\Workspaces.xml 

편집

, 당신은 행 번호를 얻고 경기 (들)의 오프셋 수, 어쩌면 당신에게 더 유용 할 것이다. 귀하의 경우 출력은 위의 2

가 적절한 dbenham 덕분에 위에 추가 오프셋

6:69:</ViewSettings> 

편집 될 것이다. 오프셋 (offset)는 여전히 사용하지만, 바르에서 두 값을 얻을 수 있는지 확실하지 않습니다,이 시도 :

FOR /F "tokens=1,2 delims=:" %%a in ('findstr /N /O /c:"</ViewSettings>" C:\add\WorkspaceXML\Workspaces.xml') do echo %%a %%b 

이것은 단지 물론 당신을 위해 바르 표시되지만 필요에 따라 그들을 설정할 수 있습니다.

+0

안녕하세요, 아담, 네, 이것에 대해 생각했지만 파일에서이 문자열의 정확한 위치를 알려주고 있는지 확실하지 않았습니다. 파일에서이 문자열 다음에 몇 가지 연산을 수행해야합니다. 감사. – NewQueries

+0

@NewQueries - 위에서 업데이트하여 잘하면 더 도움이됩니다. –

+0

이것은 굉장합니다, 그래서 이것은 내 콘솔 출력이 될 것입니까? 변수에서이 값을 얻을 수있는 방법이 있습니까? (주로 줄 번호) – NewQueries

관련 문제