2015-01-23 2 views
1

< 링크 > </link > 태그로 묶인 한 줄에 하나의 URL이있는 일반 텍스트 파일이 있습니다. ECHO-ing 태그 (포함하여) 잘 작동하지만 지금은 태그를 제거하고 싶습니다. escaping 하나 또는 여러 개의 꺾쇠 괄호가 작동하지 않습니다. 여기 코드 번호변수의 꺾쇠 괄호 바꾸기

FOR /F "tokens=* USEBACKQ" %%F IN (`findstr "<link>" test.txt`) DO (
SET what=%%F 
SET result=%what:<link>=% 
ECHO %result% 
) 

다른 방법이 있습니까?

@echo off 
setlocal enableDelayedExpansion 
FOR /F "tokens=* USEBACKQ" %%F IN (`findstr "<link>" test.txt`) DO (
    SET "what=%%F" 
    SET "result=!what:<link>=!" 
    ECHO !result! 
) 
endlocal 

답변

1

당신은 당신이 사용> 또는 < 때 delayed expansion 따옴표가 필요합니다. EOF에 도달하는 것은 'endlocal'과 동일합니다.
+0

@JosefZ : 아니하는 경우 – Magoo

+0

해당 사항 없음. 사용중인 변수가 블록 내에 있기 때문에 지연된 확장이 필요합니다. 따옴표는 후행 공백이 할당 된 값에 포함되지 않도록합니다. – Magoo

+0

@Magoo 예,하지만 'EOF'가 보이지 않습니다. OP의 코드 스 니펫이 외부 루프 등에 포함되어 있는지 여부는 알 수 없습니다 ... _meta_로 이동하십시오 ... – JosefZ

관련 문제