2012-11-15 4 views
0

포팅 된 Linux 명령 날짜를 사용하면 현재 날짜에서 X 일을 뺀 날짜를 가져올 수 있습니다. 1-30 일을 반복하여 날짜를 생성 한 다음 findstr에서 해당 날짜를 사용하려고합니다. 루프 자체가 작동하는 것 같지만 inner for 루프를 결합하면 값 X가 사용되지 않고 날짜가 설정되지 않습니다. 아무도 내가 뭘 잘못하고 있는지 알아?!일괄 스크립트가있는 루프의 변수 문제

for /L %%x in (1,1,%SEARCHDAYS%) DO (
    set date1= 
    for /f "delims=" %%a in ('date.exe --date "Now -%%x days" +%%-m/%%-d/') do @set date1=%%a 
    echo "%date1%" 

    findstr /c:"%date1%" file.txt 
    ) 
    ) 

답변

2

SETLOCAL ENABLEDELAYEDEXPANSION을 시도한 다음 "!" "%"대신 변수 주위에?

+0

'c : \ IBMITCSI300 \ programs \ date.exe : invalid date'가 표시됩니다. Now -! x! days'' –

+0

다시 확인 나는 지금 확인 'disabledelayedexpansion을했다' –

+0

그게 문제가 된 것 같아! 감사! –