2013-10-31 12 views
5

Ich bin auf der Suche nach einer Batch-Datei, die, wenn einen Pfad gegeben, zählt es alle Ordner und Unterordner darin. Bisher kann ich nur die Anzahl der Ordner innerhalb der 1. Ebene des Weges erfassen. Ich werde es dann in eine Textdatei pipen.zählen Ordner und Unterordner mit Batch-Datei

Hier ist, was ich bisher:

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

Bin ich in der Nähe zu bekommen, was ich will? Was muss ich tunen?

Danke!

Antwort

5

/s hinzufügen alle Unterordner enthalten:

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

Danke! Mein einfaches Gehirn hat das übersehen. Ich hätte wissen müssen, dass es etwas Einfaches wäre! :) – Mark

0

Eine kleine Bearbeiten dieser Antwort: 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

Hier ist, wie ich das Problem gelöst.

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

Zuerst prüfen wir, ob eine Datei existiert, und wenn ja, löschen Sie sie. Dann bekommen wir eine Liste von Dateien und speichern diese in unserer Datei. Führen Sie dann FIND für die Datei aus. FIND gibt uns ein großes Label, so dass der Name der Datei auch etwas Anziehendes und Menschenlesbares sein kann.

Ich bin persönlich an einem bestimmten Dateityp interessiert, so änderte ich . in * .jpg aber das Prinzip ist das gleiche.

Verwandte Themen