RangerTout

Dernière version compilée le 21/01/2021 voir MAJ

Dans la série des programmes vite faits qui changent la  vie :

RangeTout

Modifications

Part d’un dossier Windows ou se trouvent des milliers de fichiers en désordre,

  • Pour les classer en sous dossiers par Années et par Mois

Pour chaque fichier trouvé le programme analyse sa date de rédaction,

  • Puis crée un DOSSIER correspondant à son année
    • Puis un sous dossier correspondant à son mois
  • Avant de le ranger.
  • Une copie de chaque fichier rangé est déposée dans la corbeille et récupérable  en cas d’erreur de manip.

UTILISATION :

  • Il suffit de déposer le dossier à traiter sur le programme
  • Et de cliquer sur le gros bouton du bas,
  • Le programme peut être interrompu à n’importe quel moment en appuyant sur une touche.

Téléchargement :



Versions :

1.19.10.18

Ajout d’options :

  1. ALPHA :
    Crée un sous dossier correspondant à la première lettre de chaque fichier,
    Et range Albert dans A, Barnabé dans B etc …
  2. CHRONO :Année
    Crée un sous dossier correspondant à l’année du fichier,
    Ex : 2019\…
  3. CHRONO : Mois
    Crée un sous dossier correspondant au mois du Fichier,
    Ex 10\ pour octobre
  4. Si Année et mois sont cochés 2 sous dossiers imbriqués sont créés,
    2019\10\…

 

 

 

 

4 commentaires

  1. Bluegyn Bluegyn

    VERSION 19.12.8

    – Ajout du mode ligne de commande prioritaire

    Si un dossier est passé en argument, le programme va pointer ce dossier pour le ranger,
    De cette façon il suffit de placer un raccourci vers RangeTput.ex dans n’importe quel dossier pour le ranger (ce qui évite de recopier le programme à chaque mise à jour)

    RAccourci

    Il suffit de mettre le dossier à ranger (dossier courant) en paramètre

    Paramètre

    Correction du Bug 1899.

  2. Bluegyn Bluegyn

    VERSION 20.04 (2020)

    Ajout de l’option JOUR

    Si l’option est cochée => crée un dossier au jour du dossier
    Permet de savoir exactement quelles et combien d’ordonnances en PDF on été réalisées chaque jour du confinement dans le cadre de la téléconsultation.

    Version 20.04

  3. Bluegyn Bluegyn

    Version du 24 Nov 20

    – Ajout d’une fonction “Mouchard” sur le menu contextuel
    -* Enregistre un Journal et un livre de toutes les transactions.
    -* Activé par défaut

    Changement de Thème

  4. Bluegyn Bluegyn

    Nouvelle entrée de le JC32_INI.DCU
    Inifile_SORT

    Cette procédure trie les entrées d’un Fichier INI (dit de Profil ou de configuration) par ordre alphabétique.

    [B]
    a=1
    b=2
    [C]
    a=3
    b=4
    [A]
    a=4
    b=6

    Algorithme :

    – Chaque entrée est placée dans un tableau (TstringList)
    [C] ; a=1 ; b=2
    [B] ; a=3 ; b=4
    [A] ; a=5 ; b=6

    – Qui est trié (fonction SORT)
    [A] ; a=5 ; b=6
    [B] ; a=3 ; b=4
    [C] ; a=1 ; b=2

    – Puis restauré dans l’ordre dans l’ini original
    [A]
    a=5
    b=6
    [B]
    a=3
    b=4
    [C]
    a=1
    b=2


    procedure Inifile_SORT(Inifile: string = ”);
    // trie les rubriques par ordre alpha
    // Crée autant de lignes que de rubriques     [RUBRIQUE] ; TITRE1=VAL1  ; TITRE2 = VAL2
    // Trie les Lignes
    // Explose les rubriques
    
    var
    	INI, TEMP, TAB: tstringlist;
    	i, j: integer;
    	s: string;
    
    const
    	sep = ‘|’;
    
    begin
    	{ INIFILE }
    	if Inifile = ” then
    		Inifile := Get_IniFileName;
    
    	INI := tstringlist.create;
    	TEMP := tstringlist.create;
    	TAB := tstringlist.create;
    
    	try
    		// place l’ini dans une Liste Temporaire
    		INI.LoadFromFile(Inifile);
    		// showmessage(INI.Text);
    
    		if INI.Text = ” then
    			exit;
    
    		// crée une ligne par entrée nommée s
    
    		for i := 0 to INI.Count – 2 do
    		Begin
    			// Si la ligne commence par 1 [
    			if (INI[i] <> ”) AND (INI[i][1] = ‘[‘) then
    			Begin
    				if s <> ” then
    				Begin
    					// Enlève le ; final
    					// if s[length(s)] = sep then
    					// s := copy(s, 1, length(s) – 1);
    
    					TEMP.Add(‘”‘ + s);
    					// Enregistre la ligne précédent si non vide
    				End;
    				s := INI[i]; // Début de la ligne suivante
    			End
    			else // Ajoute les items
    				s := s + ‘”‘ + sep + ‘”‘ + INI[i]; // suite de la ligne
    		End;
    
    		// showmessage(TEMP.Text);
    		TEMP.Sort; // trie alpha
    		// showmessage(TEMP.Text);
    
    		INI.Clear;
    
    		for i := 0 to TEMP.Count – 1 do
    		Begin
    			if TEMP[i] <> ” then
    				s := TEMP[i];
    
    			TAB.Delimiter := sep;
    			TAB.DelimitedText := s;
    
    			for j := 0 to TAB.Count – 1 do
    				INI.Add(TAB[j]);
    		End;
    
    		// showmessage(INI.Text);
    		INI.SaveToFile(Inifile);
    
    	finally
    		INI.Free;
    		TEMP.Free;
    		TAB.Free;
    	end;
    
    end;
    

Laisser un commentaire