2012-08-26 5 views
-1

하위 디렉토리를 검색 할 수 있도록 어떻게 수정할 수 있습니까? 나는 약간 다른 것을 시도했다 그러나 나 기울인다 그것을 부수는 것처럼 보인다?하위 디렉토리 검색 방법 일괄

set /p "folder=Folders Name that the photo's are in: " 

setlocal 
if "%folder%" == "" call :autodetect1 
cls 
for %%d in (c d e f g h i j k l m n o p q r s t u v w x y z) do (
     if exist "%%d:\%folder%\" ( 
      echo Device was found on %%d: && set folderfound=%%d:\%folder%\ 
     ) else (
      echo Device was not found on %%d: 
    ) 
) 

답변

1

당신은 반복적으로 디렉토리를 반복하는 for /r 루프를 사용해야합니다

for %%d in (c d e f g h i j k l m n o p q r s t u v w x y z) do (
    pushd %%d:\ 
    for /r \ %%p in (.) do (
     if exist "%%~p\%folder%\" ( 
      echo Device was found on %%d: && set "folderfound=%%~p\%folder%\" 
     ) else (
      echo Device was not found on %%d: 
     ) 
    ) 
    popd 
) 

짧은 설명 :
pushd 명령 %%d에 저장된 문자로 드라이브로 전환합니다.
for /r 루프는 \ (현재 선택 드라이브의 루트 디렉토리)에서 시작하고 반복하여 모든 하위 디렉토리를 실행합니다.
popdpushd이 호출되기 전에 디렉토리로 돌아갑니다.

이것은 루프가 어떻게 보이는지 보여주는 예입니다. 나머지는 모두 동일하게 유지됩니다. 그런데

, 당신은 당신의 스크립트에서 :autodetect1를 사용하고 있지만,

이 난 내 나쁜
+0

... 어디 정의되어 있지 않습니다 잠재적 인 문제가 될 수 있지만 어쨌든 답과 관련이 없습니다. – Kysumi

+0

@Kysumi 아무 문제에서 그 부분을 넣어 didnt한다 미안 해요, 난 그냥 당신의 관심을 끌기 위해 원 –

관련 문제