Bonjour a tous les passionnés d'Applescript,
Comme l'indique le titre, je cherche à fusionner des sous-dossiers qui ont le même titre. Voila en gros l'architecture de ce dont je dispose sachant :
- Que le niveau 3 est contenu dans le niveau 2, lui-même contenu dans le niveau 1
- Qu'il y a en réalité plus de trois dossiers de niveau 1
- Que les dossier qui ont le même nom dans l'exemple suivant ont le même nom dans la réalité et que si le nom est différent dans l'exemple il le sera aussi en réalité :
Niveau 1 Dossier A Dossier B Dossier C ... Dossier Z (destination) Niveau 2 Dossier rouge Dossier rouge Dossier rouge ... Dossier rouge (destination) Niveau 3 Dossier 1
Dossier 2
Dossier 3
Dossier 4
Dossier 5
Dossier 6
Dossier 7
Dossier 8Dossier 1
Dossier 2
Dossier 3
Dossier 4
Dossier 5
Dossier 6
Dossier 7
Dossier 8Dossier 1
Dossier 2
Dossier 3
Dossier 4
Dossier 5
Dossier 6
Dossier 7
Dossier 8... Dossier 1 (destination)
Dossier 2 (destination)
Dossier 3 (destination)
Dossier 4 (destination)
Dossier 5 (destination)
Dossier 6 (destination)
Dossier 7 (destination)
Dossier 8 (destination)
Je souhaiterais sélectionner les dossier du niveau le plus haut possible (donc 1 de préférence) et que des copies des fichier contenus dans les dossiers de niveau 3 se synchronisent respectivement dans le dossier de destination correspondant (Ex : tous les fichiers des "dossier 1" dans le "dossier 1 (destination)" etc). Sachant que les dossier de destination contiennent déja des fichiers qui ne doivent pas être remplacés si un fichier porte le même nom.
J'ai effectué quelques recherches sur le sujet et j'ai trouvé les fonctions cp et ditto mais je n'arrive pas à déterminer si elles peuvent répondre précisément à mon besoin.
Sinon j'ai trouvé le bout de code suivant mais il ne fait que réunir les dossier mais pas le contenu des dossiers de niveaux inférieurs:
Si vous pouviez m’éclairer sur le sujet ou me proposer un script, un commande plus appropriée, je vous en serait très reconnaissant.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32 on run choose folder with prompt "Get contents of these folders:" default location (path to home folder) ¬ with showing package contents and multiple selections allowed open (result) end run on open droppedItems choose folder with prompt "Merge into this folder:" default location (path to home folder) ¬ with showing package contents set target to quoted form of POSIX path of result display dialog "How to handle existing files?" buttons {"Overwrite", "Cancel", "Skip"} default button 3 if (button returned of result) is "Overwrite" then set overwriteOption to "f" else set overwriteOption to "n" end if repeat with thisItem in droppedItems if (folder of (info for thisItem without size)) is true then get quoted form of POSIX path of thisItem try do shell script "cd " & result & "; /bin/cp -RP" & overwriteOption & " ./* " & target on error errorMsg number errorNum display dialog "Error (" & errorNum & "):" & return & return & errorMsg buttons "OK" default button 1 with icon caution end try end if end repeat display dialog "Script finished." buttons "OK" default button 1 with icon note end open
Merci d'avance







Répondre avec citation





Partager