2013-10-31 15 views
5

Szukam utworzyć plik wsadowy, który po podanej ścieżce zlicza wszystkie foldery i podkatalogi w nim. Do tej pory mogę zebrać tylko liczbę folderów na 1. poziomie ścieżki. Następnie przepuszczę go do pliku tekstowego.policz foldery i podfoldery z plikiem wsadowym

Oto co mam do tej pory:

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

Am I blisko do coraz to, co chcę? Czego potrzebuję do tweek?

Dzięki!

Odpowiedz

5

Dodaj /s obejmować wszystkie podfoldery:

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

Dzięki! Mój prosty mózg to przegapił. Powinienem był wiedzieć, że to będzie coś prostego! :) – Mark

0

Mała edycji tej odpowiedzi: 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

Oto jak rozwiązać ten problem.

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

Najpierw sprawdzamy, czy plik istnieje, a jeśli tak, usuń go. Następnie dostajemy listę plików i zrzutu do naszego pliku. następnie uruchom polecenie ZNAJDŹ na pliku. FIND z pewnością da nam dużą etykietę, więc nazwa pliku może być równie atrakcyjna i czytelna dla człowieka.

Jestem osobiście zainteresowany konkretnym typem pliku, więc zmieniono . na * .jpg, ale zasada jest taka sama.

Powiązane problemy