0

dir / S / aHは、非表示のフォルダーの内部を深く掘り下げることができないため、機能しません。

編集:それはdir / S / aHでしたが、私がテストしていた非隠しファイルまたはフォルダー内に隠しファイルまたはシステムファイルまたはフォルダーはありませんでした。

4

1 に答える 1

1

これは問題があり、それを解決するために私が知っている唯一の方法は醜く、「関数」で結果を出すでしょう。

@echo off
setlocal ENABLEEXTENSIONS
goto main

:EnumAllFiles 
FOR /F "tokens=*" %%A IN ('dir /B /S /A:-D-H "%~1" 2^>nul') DO call :%2 "%%~A"
FOR /F "tokens=*" %%A IN ('dir /B /S /A:-DH "%~1" 2^>nul') DO call :%2 "%%~A"
goto :EOF

:mycallback
echo file=%~1
goto :EOF

:main
call :EnumAllFiles "c:\someDirToSearch" mycallback

(ファイルが必要だと言ったので、これはフォルダに関するmycallback関数には通知しません)

dir /B /S /a-D編集:それも動作するようです

于 2010-07-15T15:12:26.483 に答える