Script macOS : déplacement de fichiers texte vers des dossiers par date

Gregoryen

Membre actif
Club iGen
16 Juin 2013
675
45
33
Arles
www.gregoryen.fr
Bonjour à tous,

Je cherche de l’aide pour créer un script de déplacement automatique de fichiers texte d’un dossier source vers un dossier cible sur macOS. Voici les détails :

1. Dossier source : /Users/gregoryen/Fichier-Texte
2. Dossier cible : /Users/gregoryen/Test
3. Structure des sous-dossiers dans le dossier cible :
• Dans ce dossier cible, j’ai plusieurs sous-dossiers par semaine, par exemple Semaine 1, Semaine 2, etc.
• À l’intérieur de ces sous-dossiers hebdomadaires, il y a encore d’autres sous-dossiers pour chaque jour (lundi, mardi, mercredi, etc.).
• Le nombre de ces sous-dossiers peut varier en fonction des projets, car chaque projet a sa propre date de début. Par exemple, dans un projet, la “Semaine 1” peut commencer le 4 novembre, alors que dans un autre projet, elle peut commencer le 4 août.
4. Fichiers dans le dossier source :
• Dans mon dossier source, j’ai de nombreux fichiers texte nommés selon le format fichier-texte-jour-mois-année.txt, par exemple Mon-Fichier-du-01-02-2024.txt.
• Mon objectif est de déplacer ces fichiers texte dans le bon sous-dossier de destination qui correspond à leur date. Par exemple, le fichier Mon-Fichier-du-01-02-2024.txt doit être déplacé dans '/Users/gregoryen/Test/Semaine 10/[65] Jeu-01-02-2024'

Je veux m’assurer que le script ne crée pas de nouveaux dossiers et ne touche pas à la structure existante des dossiers dans le dossier cible. Il doit simplement déplacer les fichiers texte vers leurs emplacements appropriés. Si un fichier existe déjà alors il est autorisé à le remplacer

Si quelqu’un a une solution ou des conseils pour réaliser cela, je vous en serais très reconnaissant !

Merci d’avance pour votre aide !
 

Fichiers joints

  • Screenshot 06-10-2024 à 23h46 56s - Finder - Test.webp
    Screenshot 06-10-2024 à 23h46 56s - Finder - Test.webp
    78,2 KB · Affichages: 13
  • Screenshot 06-10-2024 à 23h44 06s - Finder - Fichier-Texte.webp
    Screenshot 06-10-2024 à 23h44 06s - Finder - Fichier-Texte.webp
    103,2 KB · Affichages: 13
Bonjour,
Pas de solution à proposer, mais un état d'âme à exprimer. J'ai beaucoup de difficultés à comprendre pourquoi il y a encore des gens qui n'utilisent pas le format de date AAAA-MM-JJ. C'est vraiment faire exprès pour avoir du trouble, non?
 
  • J’adore
Réactions: Bicus
Bonjour,

En supposant que le dossier "fichier-texte" et le dossier "test" sont bien tous les deux directement dans ton dossier utilisateur (la petite maison)

Je te met un premier jet en applescript pour faire le job.

Bon tests !

Bloc de code:
tell application "Finder"
    set gui to ASCII character 34
    
    set source to "Macintosh HD:Users:gregoryen:Fichier-texte:" as alias
    
    set tous to every file of entire contents of source
    set nb to count tous
    
    repeat with i from 1 to nb
        set a to item i of tous as string
        set ladate to text items -14 thru -5 of a as string
        
        set cheminfichier to quoted form of POSIX path of a
        
        set commande to "find " & gui & "/Users/gregoryen/Test" & gui & " -type d  -name " & gui & "*" & ladate & "*" & gui
        set resultat to do shell script commande
        set resultat to quoted form of resultat
        set deplace to "mv " & cheminfichier & " " & resultat
        
        do shell script deplace
        
    end repeat
    
end tell
 
  • J’adore
Réactions: Gregoryen
content pour toi !
 
  • J’adore
Réactions: Gregoryen