2014-06-09 2 views
0

배치 파일을 사용 중이며 배치 스크립트가 실행되는 상대 경로에있는 모든 JavaScript 파일을 나열 할 수 있어야합니다. 지금까지 내가했던문자열에 추가하여 파일을 디렉토리에 나열하는 일괄 스크립트

"C:\path\to\file1.js" "C:\path\to\file2.js" "C:\path\to\file3.js" etc.. 

: 마지막 목록으로 포맷해야 위의 스크립트,

SET files="" 
FOR /f "delims=" %%i IN ('dir /b /s ".\path\to\files\*.js"') DO (
    SET files=!files! "%%i" 
) 
ECHO Files found: %files% 

그러나, 나는 출력으로 얻을 모든은 다음과 같습니다

Files found: "" C:\path\to\last\file.js 

디렉토리에서 찾은 마지막 파일 만 출력합니다. 마지막 파일 만 추가하는 이유에 대해서는 여기에 어떤 문제가 있는지 알 수 없습니다.

dir /b /s ".\path\to\files\*.js" 

이전의 경우 : 출력이 원하지 무엇

@echo off 
SETLOCAL ENABLEDELAYEDEXPANSION 

SET "files=" 
FOR /f "delims=" %%i IN ('dir /b /s ".\path\to\files\*.js"') DO (
    SET files=!files! "%%i" 
) 
ECHO Files found: %files% 

경우, 명령 줄에서 직접 다음 명령을 실행 : 여기에 표시되는

+1

프로그램 시작 부분에'setlocal EnableDelayedExpansion'을 포함시켜야합니다. – Aacini

+0

다른 질문에서 이것을 보았습니다 만,이 설정은 저에게는 맞지 않습니다. –

답변

0

정확히 아래의 배치 파일을 실행 줄이 배치 파일과 동일한 파일을 표시하면 문제는 dir 명령과 관련됩니다.

관련 문제