.bat 스크립트에서 숨겨진 폴더 건너뛰기

.bat 스크립트에서 숨겨진 폴더 건너뛰기

숨겨진 디렉터리 없이 모든 파일 목록을 얻는 방법을 찾으려고 합니다. 나는 다음과 같은 여러 가지 변형을 시도했습니다.

dir  /b  /s  /a:-h  z:\  >toc-z.txt

하지만 이는 숨겨진 파일만 건너뜁니다. 숨겨진 폴더의 파일과 하위 폴더를 포함하여 모든 숨겨진 폴더를 제외하는 목록이 필요합니다.

숨겨진 폴더의 구문 분석 및 나열을 건너뛸 수 있는 방법이 있습니까?

답변1

약간 해킹적이지만 명령을 및 (또는 아마도 ) 옵션 xcopy과 함께 사용할 수 있습니다 . 키는 파일 목록을 표시하도록 지시하는 옵션입니다./l/s/e/l장차 ~ 가 되는복사본을 만드는 것이 아니라 복사됩니다. 기본적으로 xcopy숨겨진 파일이나 시스템 파일은 복사하지 않으므로 무시됩니다.

답변2

긴 명령이지만 작동하고 상당히 빠릅니다. :-)

여기는 명령줄에 대한 긴 하나의 라이너입니다.

>toc-z.txt ((for %F in ("z:\*") do @echo %F)&for /f "delims=" %D in ('dir /s /ad-h-l /b z:\*^|sort') do @for %F in ("%D\*") do @echo %F)

여기는 배치파일로 되어있습니다

@echo off
>toc-z.txt (
  for %%F in ("z:\*") do @echo %%F
  for /f "delims=" %%D in (
    'dir /s /ad-h-l /b z:\*^|sort'
  ) do for %%F in ("%%D\*") do echo %%F
)

관련 정보