command prompt - Invalidate match in batch file for loop -
i have following directory structure:
>c >somefile >.ignoreme >vitalsysteminfo.eiafj >donttouchthis.ei3rw3j >picture.jpg >pandas.gif >code.cpp >anotherdirectory >morestuff.bacon
and have loop go through it
for /r %f in (c:\somefile) echo %f
how can exclude .ignoreme
?
you appear little confused syntax of for /r
. should be
for /r "folder" %f in (filemask) echo %f
you should double-pump percent signs if you're putting in .bat script.
anyway, if you're doing echo
ing results, easiest way exclude ".ignoreme" pipe output find /v ".ignoreme"
.
for /r "c:\somefile" %%f in (*) echo %%f | find /v /i ".ignoreme"
on other hand, if use of echo
merely demonstration not production, can accomplish same effect for /f
loop executing dir /s /b
.
for /f "delims=" %%f in ('dir /s /b "c:\somefile" ^| find /v /i ".ignoreme"') echo %%f
if want fancy, take advantage of fact for /d
excludes hidden folders.
attrib +h "c:\somefile\.ignoreme" >nul 2>nul /d /r "c:\somefile" %%i in (*) ( %%j in ("%%~i\*") echo "%%~fj" )
even though that's more code, more efficient (faster) excluding find /v
. you'll find internal cmd
functions execute more executables such find.exe
.
Comments
Post a Comment