2010-07-13 5 views
6

공백으로 구분 된 변수에 모든 파일 (절대 경로 포함)의 목록을 가져오고 싶습니다. 내 Google-fu는이 점에서 약점이있는 것 같습니다. 문제가 계속 발생하기 때문입니다.배치 파일 - 변수 목록에 파일 목록 작성

% baseDir %에 기본 디렉토리가 저장되어 있으며 파일을 구문 분석 (하위 디렉토리를 포함하지 않거나 포함하지 않음)하고 싶습니다. 언급했듯이, 이것은 목록에 들어가야합니다. 내가 사용할 수있는 멋진 작은 지름길이 있다고 상상하지만, for 루프와 연결은 트릭을 수행 할 것입니다. 를 통해

setlocal enabledelayedexpansion enableextensions 
set LIST= 
for %%x in (%baseDir%\*) do set LIST=!LIST! %%x 
set LIST=%LIST:~1% 

는 사실, 당신이 set 명령에 대한 도움말이 매우 예를 찾아 접근 :

echo fileList 

C:\file1.c C:\file2.c C:\file3.c 

답변

12

매우 간단 :

이상적으로,이 같은이있을 것이다 help set, 순진한 접근 방식이 효과가없는 이유에 대한 설명이 필요합니다.

파일 (보다는 모든)의 다른 세트를 사용하려면, 당신은 쉽게 와일드 카드를 변경할 수 있습니다

for %%x in (%baseDir%\*.c) do set LIST=!LIST! %%x 
+0

간단한 질문, 간단한 대답 ... 감사합니다! – espais

+0

@espais : 꽤 일반적인 것입니다. 나는 대략 12 번이나 지금까지 대답했다고 생각한다 ;-) – Joey

+0

@Johannes ... 빠른 후속 ...이 스 니펫을 * .c 유형의 파일로만 제한하는 것이 쉬운가? – espais