Code pour compter et supprimer dossiers

buffy -  
 angel -
Bonjour,

j'aimerais trouver un code qui permet de compter les nombres de fichiers et fichiers afin de supprimer dans le même code les dossiers vides. je vous joins un exemple pour être un peu plus clair

Dans SFichiers\profil
j'ai par exemple 400 dossiers
chaque dossier peut contenir un ou plusieurs dossiers et des fichiers
C'est-à-dire:
sur les 400 dossiers (par exemple) :
* 50 dossiers contient d'autres dossiers
* 100 dossiers contient d'autres dossiers et fichiers
* 120 dossiers comporte que des fichiers
*130 dossiers sont vides

J'aimerais compter les dossiers et fichiers dans un dossiers afin de supprimer automatiquement les dossiers vides dans ce repertoire Sfichiers\profil
merci

A voir également:

3 réponses

buffy
 
j'arrive sur le bureau (je teste sur mon bureau avant de la lancer en vrai sur le Sfichiers)
à compter le nb de fichiers dans tous les dossiers. Maintenant je recherche un morceau de code permettant au code de donner le nb de fichiers par dossier pour voir ceux ou celui qui est ide afin de le supprimer via ce code.

----------------------------------------------

@echo off

:recup paramètre et changement de répertoire si non vide
if not "%~1"=="" cd /d  "%~1"

for /f "tokens=*" %%d in ('dir /a:-d /S ^| findstr /n /i "octets"') do call :MaxOctets "%%d"

echo %RepSize% >>Liste.txt
pause
goto fin

:MaxOctets
set ligne=%~1
for /f "tokens=3 delims= " %%i in ("%ligne%") do set Letype=%%i
set Letype=%Letype:~0,1%
if %Letype%==f for /f "tokens=2,3 delims= " %%i in ("%ligne%") do set RepSize=%%i %%j

:fin


------------------------------------------------------
merci
0
angel
 
bonjour
essaye avec ce code qui devra être modifier car il affiche le propriétaire du dossier et le nombre totaux de fichiers présents dans ce répertoire

------------------
 @echo off

for /F "tokens=2 delims=\" %%a in ('dir /q ^|findstr "^[0-9]"') do (
	echo %%a
	)>>ListePriprioDossier.doc	


:recup paramètre et changement de répertoire si non vide
if not "%~1"=="" cd /d "%~1"

for /f "tokens=*" %%d in ('dir /a:-d /S ^| findstr /n /i "octets"') do call :MaxOctets "%%d"

echo %RepSize% >>ListePriprioDossier.doc	
pause
goto fin

:MaxOctets
set ligne=%~1
for /f "tokens=3 delims= " %%i in ("%ligne%") do set Letype=%%i
set Letype=%Letype:~0,1%
if %Letype%==f for /f "tokens=2,3 delims= " %%i in ("%ligne%") do set RepSize=%%i %%j

:fin


-----------------------------------
Par contre je suis au taff je ne peux pas d'aider sur les modifications. si une autre personne arrive a trouver la solution pourriez nous la donné.
0
angel
 
voila j'ai pu grâce aux net trouver un code permettant de compter le nombre de fichiers dans un répertoire par dossiers et sous répertoires. (Code testé = fonctionne ) a l'améliorer pour vos prochaines manip.

-----------------------------------------------------------------------------------------
@echo off

if not "%~1"=="" (
   set Chemin=%~1
) else (
   set Chemin=%~dp0
)

cd /d %Chemin%
echo Etat du repertoire %Chemin% > Liste.txt
echo. >> Liste.txt

for /f "tokens=*" %%d in ('dir /a:-d /S ^| findstr /n /i "pertoire octets"') do call :Creerliste "%%d"

rem affichage du resultat de recherche
:ShowResult
cls
@echo on
echo.
set /p reponse=Voulez-vous visualiser le fichier de r'sultat (o/n) ?
if /i "%reponse%"=="" start notepad %Chemin%Liste.txt & goto fin
if /i "%reponse%"=="o" start notepad %Chemin%Liste.txt & goto fin
if /i "%reponse%"=="n" goto fin
goto ShowResult

:Creerliste
set ligne=%~1

for /f "tokens=2 delims= " %%i in ("%ligne%") do set Rtype=%%i
set Rtype=%Rtype:~0,1%
if %Rtype%==R for /f "tokens=3* delims= " %%i in ("%ligne%") do echo Repertoire %%i %%j >> Liste.txt & set Rep=vrai & goto  fin

for /f "tokens=3 delims= " %%i in ("%ligne%") do set Ftype=%%i
set Ftype=%Ftype:~0,1%
if %Rep%==faux (
   if %Ftype%==f echo Nombre total de fichiers de %Chemin% et des ses sous repertoires: >> Liste.txt
)
set Rep=vrai
if %Ftype%==f for /f "tokens=2,3 delims= " %%i in ("%ligne%") do echo %%i %%j >> Liste.txt & set Rep=faux
echo. >> Liste.txt
@echo off


:fin

--------------------------------------------------------------------------
Bonne fin de journée
0