2013-10-31 35 views
5

Bir yol verildiğinde, içindeki tüm klasörleri ve alt klasörleri sayacak bir toplu iş dosyası oluşturmak istiyorum. Şimdiye kadar sadece yolun 1. seviyesindeki klasör sayısını toplayabiliyorum. Daha sonra bir metin dosyasına pipetleyeceğim. Ne istediğimi almak için yakıntoplu iş dosyasına sahip klasörleri ve alt klasörleri sayma

for /f %%a in ('dir /b /ad %folder%^|find /c /v "" ') do set count=%%a 
echo %count% folder(s^)>> !output! 

Am: Burada

Ben bugüne kadar ne var? Tweek'e ne ihtiyacım var?

Teşekkürler!

cevap

5

tüm alt klasörleri eklemeyi /s ekleyin:

for /f %%a in ('dir /b /s /ad %folder%^|find /c /v "" ') do set count=%%a 
echo %count% folder(s^)>> !output! 
+0

Teşekkürler! Basit beynim bunu kaçırdı. Basit bir şey olacağını biliyor olmalıydım! :) – Mark

0

bu cevabın küçük bir düzenleme: Batch file to list files and folders in a simple format

@echo off 
setlocal disableDelayedExpansion 
pushd %1 
set "tab= " 
set "indent=" 
call :listFolder >report.txt 
exit /b 

:listFolder 
setlocal 
set "indent=%indent%%tab%" 
for /d %%F in (*) do (
    echo %indent%.\%%F 
    pushd "%%F" 
    call :listFolder 
    popd 
) 
exit /b 
0

Burada sorun çözüldü nasıl.

if exist "File Count" del "File Count" 
dir "%~d1%~p1\*.*" /b /s >> "File Count" 
find /c "." "File Count" 

İlk olarak, bir dosyanın var olup olmadığını denetleyin ve eğer öyleyse, silin. Sonra bir dosya listesi alıp dosyamıza döküyoruz. daha sonra dosya üzerinde FIND çalıştırın. FIND bize büyük bir etiket verecek, bu yüzden dosyanın adı çekici ve insan tarafından okunabilir bir şey olabilir.

Kişisel bir filetype ile ilgileniyorum, bu yüzden değiştirdim., * .jpg içine girer, ancak prensip aynıdır.

İlgili konular