현재 디렉터리의 모든 .h 파일을 반복하고 해당 .cpp 파일의 일괄 처리 함수를 호출하고 싶습니다. 실제로 저는 이미 작동 했었지만 로컬 변수를 사용하려고했을 때 이상한 결과를 얻었습니다.루프 내에서 변수의 파일 이름을 얻는 방법은 무엇입니까?
왜%%~df%%~pf%%~nf.cpp
이 제대로 확장
SETLOCAL
C:\WorkingDirectory>(
SET header=
ECHO header=
SET source=C:\WorkingDirectory\SomeFile.cpp
ECHO source=
)
header=
source=
하지만 ECHO %source%
인쇄 아무것도 :
SETLOCAL
for /R %%f in (*.h) do (
SET header=%f%
ECHO header=%header%
SET source=%%~df%%~pf%%~nf.cpp
ECHO source=%source%
)
나는이 출력을 얻을? 어떻게 정확하게
SET header=%f%
을 할 수 있습니까?
당신은 [지연 확장 (http://ss64.com/nt/delayedexpansion.html) – npocmaka
'% f를 %'실제로 더 나은 %%'읽기 f', 또는해야한다'%% ~ 필요 f'를 사용하여 주변 인용 부호를 제거하십시오.'header '를 읽으려면'% header %'대신'! header!'를 사용해야합니다; 이 지연된 확장이 작동하려면'setlocal' 명령에'EnableDelayedExpansion' 인수를 추가하십시오 ... – aschipfl