Supprimer dossier vides

buffy14 -  
KillerKlown Messages postés 48 Statut Membre -
Bonjour,

Bonjour à tous,

je recherche un code en bat me permettant de supprimer des dossiers vides (livre jaune) dans un répertoire et sous-répertoire et listé les dossiers supprimées.
C'est-à-dire

je me place dans C:\bureau
j'ai 400 dossiers dont 250 sont vides et 10 dossiers contiennent des sous dossiers vides .
Il faut supprimer les 250 dossiers puis dans les 10seul les dossiers vides.


Je précise que je suis novice dans la programmation.
Merci par avance

3 réponses

  1. angel
     
    pour supprimer les dossiers vides .Télécharge le logiciel qui le fait.
    lien: http://www.touspourun.org/remove-empty-directory-un-freeware-pour-effacer-vos-repertoires-vides-695
    Il fonctionne pour les dossiers et sous -dossiers. en effet j'avais un dossiers qui contenait des fichiers et dossiers vides . j'ai pu supprimer que les dossier vides sans perdre les dossiers racine.
    J'espère que cela dirait.
    0
  2. buffy14
     
    Merci Angel,
    Je vais tester tout de suite afin de verifier.
    Si quelqu'un a un code quelque soit le langage il pourrait m'aider.
    Merci a tous
    0
  3. KillerKlown Messages postés 48 Statut Membre 12
     
    Voila un bout de code java qui fait ça :

    import java.io.File;
    
    public class A
    {
    	
    	private void cherche( File p_BaseDirectory )
    	{
    		File [] files = p_BaseDirectory.listFiles();
    		
    		for ( File aFile : files )
    		{
    			if ( aFile.isDirectory() )
    			{
    				if ( aFile.listFiles().length > 0 )
    				{
    					cherche( aFile );
    					if ( aFile.listFiles().length == 0 )
    					{
    						System.out.println("Supprime " + aFile.getAbsolutePath());
    						aFile.delete();
    					}
    				}
    				else
    				{
    					System.out.println("Supprime " + aFile.getAbsolutePath());
    					aFile.delete();
    				}
    			}
    		}
    	}
    	
    	
    	public static void main( String [] p_Arguments )
    	{
    		new A().cherche( new File( "c:/temp" ) );
    	}
    	
    }
    
    0