2013-03-22 2 views
1

FOR /F을 사용하여 배치 파일 내에서 "last_bkp_date.txt"파일의 값에 액세스했습니다.FOR 루프의 출력을 배치 파일의 다른 변수에 할당 할 수 없습니다.

%%a의 결과는 괜찮지 만, v_abc에 값을 할당 할 수 없습니다.

for 루프 전에 set v_abc =을 사용하여이 변수에 대한 과거 할당을 특히 삭제/제거합니다.

누군가가 도와 드릴 수 있습니까?

@SETLOCAL EnableDelayedExpansion 
@echo off 

set v_abc = 

FOR /F "tokens=1 usebackq" %%a IN (last_bkp_date.txt) DO ( 
    set v_abc =%%a 
    echo value of a: %%a 
    echo value of abc: !v_abc! 
) 

답변

2

간단한 신인 실수를하지 않는 것이 좋습니다.

당신은 set v_abc=%%a

또는

  • echo Value of abc: !v_abc !echo Value of abc: !v_abc! 변경에 set v_abc =%%a을 변경하거나

    1. 하여 문제를 해결할 수 있습니다.

    심플.

  • +0

    감사합니다. 지금 일하고있어. – ak28

    2

    구문은 SET variable=value입니다. 문제는 변수 이름과 = 부호 사이의 공백입니다.

    그냥이

    set v_abc=%%a 
    

    봐라 시도!

    이유는 Windows 환경 변수 이름에 공백이 포함될 수 있기 때문입니다. 당신이 공간을 포함하는 변수를 액세스 할 수있는 문제에 대한 대안 솔루션 있도록 그러나이 방법을, 변수 이름 (set v_abc =%%a) 뒤에 공백을 추가

    echo value of abc: !v_abc ! 
    
    관련 문제