모든 특정 폴더를 일괄적으로 찾습니다.

모든 특정 폴더를 일괄적으로 찾습니다.

"temp"라는 이름의 폴더가 여러 개 있고 이를 찾을 수 있지만 응용 프로그램을 실행하면 첫 번째 인스턴스만 표시됩니다. 다른 사람들에게 보여주기 위해서는 어떻게 해야 할까요?

@echo off
for /d /r "c:\" %%i in (temp) do @if exist "%%i" set path=%%i
echo %path%
pause :: Pause the app.

답변1

다른 사람들에게 보여주기 위해서는 어떻게 해야 할까요?

echo루프 내부 for와 테스트 내부를 수행해야 합니다. 그렇지 않으면 마지막 일치 if만 수행하게 됩니다 .echo

게다가:

  • path변수로 사용하지 않겠습니다 ( PATH이미 정의된 환경 변수입니다).
  • 대신 변수의 이름을 지정 _somename하십시오(선행은 _이름이 기존 환경 변수와 충돌하는 것을 방지합니다).
  • setlocal변수가 상위 명령 프롬프트로 유출되는 것을 막는 데 사용하는 것이 좋습니다 .
  • 루프를 돌 때마다 set setlocal enabledelayedexpansion업데이트된 값이 수정되도록 사용해야 합니다 .echo

다음 배치 파일을 시도해 보십시오.

@echo off
setlocal
setlocal enabledelayedexpansion
@echo off
for /d /r "c:\" %%i in (temp) do (
  @if exist "%%i" (
    @set _variable=%%i
    @echo !_variable!
    )
  )
endlocal

추가 자료

답변2

한 번에 하나씩 방문하는 대신 목록만 나열하려면 다음 명령을 사용하세요.

cd \
dir temp /a:d /b /s > "%USERPROFILE%\Desktop\tempdirs.txt"
start "" "%USERPROFILE%\Desktop\tempdirs.txt"

이를 분석하려면 다음을 수행하십시오.

  1. 드라이브 루트로 이동합니다(이 명령은 한 번에 하나의 드라이브만 검색합니다).
  2. dir"temp"라는 항목을 찾으려면 명령 을 사용하십시오 .
  3. 항목에 "디렉토리" 속성(즉, 폴더)이 있어야 합니다.
  4. 파일(또는 이 경우 폴더) 이름만 "기본" 형식으로 출력을 표시합니다.
  5. 현재 디렉터리에서 시작하고 모든 하위 디렉터리도 확인합니다(이것이 드라이브 루트에서 명령을 실행한 이유입니다).
  6. 출력을 파일로 리디렉션합니다(나중에 모두 읽기 쉽도록).
  7. 이 파일을 사용자 프로필 아래의 데스크탑 폴더에 넣으세요( %USERPROFILE%와 같이 프로필 경로로 확장됨 C:\Users\username).
  8. 방금 작성한 파일을 기본 .txt 편집기(일반적으로 메모장)에서 엽니다.

내 컴퓨터에서 다음 명령을 실행한 결과 예:

C:\$Recycle.Bin\S-1-5-21-1498554065-3975735064-3637327715-1001\$RBC5Q5G\Temp C:\KDE\Temp C:\Program Files (x86)\Android\android-sdk\temp C:\ProgramData\Microsoft\IdentityCRL\production\temp C:\ProgramData\Microsoft\RAC\Temp C:\Users\All Users\Microsoft\IdentityCRL\production\temp C:\Users\All Users\Microsoft\RAC\Temp C:\Users\cbhacking\AppData\Local\Temp C:\Users\cbhacking\AppData\Local\Google\Chrome\User Data\Default\Extensions\Temp C:\Users\cbhacking\AppData\Local\Microsoft\MSOIdentityCRL\ 프로덕션\임시 C:\Users\cbhacking\AppData\Local\Microsoft\VisualStudio\14.0\SyncSettings\1733649840\Temp C:\Users\cbhacking\AppData\Local\Microsoft\VisualStudio\vshub\Settings\SyncSettings\1206173302\Temp

관련 정보