Déplacer en lot des fichiers vers un dossier portant le meme nom

JeroH

Membre enregistré
5 Septembre 2023
4
1
55
Bonjour,

Désolé si une réponse existe mais j'ai essayé de trouver une réponse à ma question mais en vain ...surement mal exprimé ;-)

Je cherche à déplacer un fichier nommé 0001.pdf vers un dossier portant le meme nom sans l'extension soit pour le fichier 0001.pdf > le dossier de destination se nomme 0001.

J'ai plus de 1000 fichiers nommé de 0001 à 1100 a déplacer dans leurs dossiers respectif.

J'ai pensé a une commande avec le terminal (ou atomator) pour faire un traitement en lot mais je bloque (je ne suis pas expert en la matière) et mes recherches n'aboutissent pas a ce que je cherche, auriez vous une piste ou une solution ?

Merci d'avance !
 
Bonjour,

  • les fichiers sont 'ils tous dans le même dossier ? si oui dans ce dossier y a t'il des fichiers à ne pas déplacer ?
  • les dossiers de destination sont 'ils tous dans un même dossier ?
 
Merci pour le retour rapide !
effectivement j'ai oublié de préciser ..

Tous les fichiers ex 0000.pdf et les dossiers nommés ex 0000 sont dans le meme dossier parent et il n'y pas d'autre fichier que ceux a déplacer
 
Ok !
dès que j'ai un peu de temps je regarde pour te faire un petit applescript...
 
Essai ce script !
pour cela
Ouvrir Editeur de script qui se trouve dans Application—>Utilitaires
Clic sur le bouton “Nouveau document” en bas à gauche
Dans la fenêtre qui s’ouvre faire un copier coller du script.
Cliquer sur exécuter en haut à gauche

A son lancement le script te demande de sélectionner le dossier a traiter

il déplace les fichiers et met un message lorsqu'il a terminé.

Si un dossier du nom du fichier n'existe pas, il crée un fichier les erreurs.txt sur le bureau avec le nom du fichier concerné.

Dis-moi si c'est bon, ou s'il faut modifier quelque chose.

Bloc de code:
tell application "Finder"
    
    set chemin to choose folder with prompt " sélectionner le dossier à traiter ! "
    
    set les_fichiers to files of chemin
    set chemin to chemin as string
    repeat with chaque_fichier in les_fichiers
        set nom to name of chaque_fichier
        set nomcourt to text 1 thru ((offset of "." in nom) - 1) of nom
        set chemindossier to chemin & nomcourt
        try
            move chaque_fichier to chemindossier
        on error
            set lelog to open for access ((path to desktop folder as text) & "les erreurs.txt") as text with write permission
            write "Le dossier n'existe pas pour ce fichier : " & nom & return to lelog starting at eof
            close access lelog
        end try
        
    end repeat
end tell

tell application "Finder"
    activate
    (display dialog ("waouou ... Ca y est c'est fait !") buttons {"Salut !"})
end tell
 
  • J’aime
Réactions: maxou56 et MrTom
OHHH la lalaaa... excellent !
Ca a tourné du feu de Zeus !
Je garde ce script bien au chaud !
Grand merci à toi zeltron54 !
 

Fichiers joints

  • Capture d’écran 2023-09-05 à 16.41.35.png
    Capture d’écran 2023-09-05 à 16.41.35.png
    175,5 KB · Affichages: 3
  • J’aime
Réactions: MrTom
content pour toi !
 
  • J’aime
Réactions: MrTom