Création simple dossier + arborescence

AnaïsG

Membre enregistré
28 Février 2018
5
0
29
Bonjour à tous,

En lisant le litre du poste, on pourrait croire qu'il s'agit encore d'un sujet ultra redondant et courant.
Le soucis c'est que malgré diverses recherches sur des forum ou autre je ne trouve pas de réponse à ma question.

Pour mon travail, dans un processus d'uniformisation j'aimerais créer un script simple de création de dossier avec des sous dossier et que le tout soit "dissimuler". Je vais essayer de rédiger un exemple pour que ce soit plus clair.

J'aimerais que dans un textedit (pour exemple, cela peut être ailleurs), juste en tapant "Dossier 1" il y ai automatiquement la création de "Dossier 1" et a l'intérieur " sous dossier 1", "sous dossier 2", "sous dossier 3" ect ...
Le nom du dossier serait variable a chaque utilisation du script mais les noms des sous dossiers seraient fixes.

Pardonnez moi, si ma requête semble évidente mais je suis assez novice dans ce domaine.
Bonne journée !
 
Bonjour,
Pour réfléchir à la question, il faudrait avoir plus d'infos:
1 - le dossier doit se créer à quel endroit ? fixe ou à définir par l'utilisateur ?
2 - Le nombre de sous dossier est fixe ou à définir par l'utilisateur.
Au vue de ces éléments on peut envisager de créer un applescript qui te demande les infos et fait le job.
 
Bonjour,
Pour réfléchir à la question, il faudrait avoir plus d'infos:
1 - le dossier doit se créer à quel endroit ? fixe ou à définir par l'utilisateur ?
2 - Le nombre de sous dossier est fixe ou à définir par l'utilisateur.
Au vue de ces éléments on peut envisager de créer un applescript qui te demande les infos et fait le job.

Alors pour répondre, ces deux paramètres seront fixes. Création du dossier sur le Bureau et il y aura toujours le même nombre de sous dossier s'appelant toujours pareils.
 
il y aura toujours le même nombre de sous dossier s'appelant toujours pareils.
OK ! alors il faut les noms, pour les intégrer dans le script !

Je résume: le script te demande le nom du dossier à créer puis crée sur le bureau ce dossier avec les sous dossier dedans ?
 
OK ! alors il faut les noms, pour les intégrer dans le script !

Je résume: le script te demande le nom du dossier à créer puis crée sur le bureau ce dossier avec les sous dossier dedans ?

Tu as très bien résumer le truc !

Pour les nom des dossiers :
IMAGES
ORIGINAUX
GCR
ELEMENTS
VALIDATIONS
 
Dans un fichier create_empty_tree.sh

Bloc de code:
#!/bin/sh

ROOT="$1"
for subdir in IMAGES ORIGINAUX GCR ELEMENTS VALIDATIONS; do
  mkdir -p "$ROOT/$subdir"
done

Puis pour l'executer :

Bloc de code:
./create_empty_tree.sh DOSSIER1
 
Autre solution très simple, sans scripting : avoir une arborescence vide de modèle quelques parts, et utiliser le Finder pour :
  • la dupliquer
  • renommer le nom du dossier racine.
Hop.
 
Après concertation avec mes collègues il veulent faire quelques modifs dans l'arborescence.
Mettre le dossier GCR dans le sous dossier ELEMENT et y rajouter également un sous dossier MAIL.
Ce qui donnerais.

DOSSIER 1
IMAGES
ORIGINAUX
VALIDATION
ELEMENT
GCR
MAILS
Puis pour l'executer :

Bloc de code:
./create_empty_tree.sh DOSSIER1

Il y a t'il un moyen de s'astreindre de la commande d'exécution, pour simplement avoir a rentrer le nom du dossier puis "valider" ?
 
voila un script qui fait le job.
Tu peux l'enregistrer au format application et lancer cette appli au besoin
Bloc de code:
display dialog "Entrer le nom du dossier à créer: " default answer "Dossier"
set lenom to text returned of result

tell application "Finder"
    set lenom to lenom as string
    set chemin to (path to desktop folder) as string
    set chemin2 to chemin & lenom as string
    make new folder at chemin with properties {name:lenom}
    make new folder at chemin2 with properties {name:"IMAGES"}
    make new folder at chemin2 with properties {name:"ORIGINAUX"}
    make new folder at chemin2 with properties {name:"GCR"}
    make new folder at chemin2 with properties {name:"ELEMENTS"}
    make new folder at chemin2 with properties {name:"VALIDATIONS"}
end tell

Tu as donc plusieurs possibilités avec celle proposés par "byte_order"
 
Ben oui, il suffit de créer cette arborescence vide quelque part, et à chaque besoin, la dupliquer via Finder et renommer le dossier dupliqué comme on le souhaite.

Sinon, bien là faut en passer par Automator/AppleScript j'imagine.
 
Voila le script modifié avec gcr et mails
Bloc de code:
display dialog "Entrer le nom du dossier à créer: " default answer "Dossier"
set lenom to text returned of result

tell application "Finder"
    set lenom to lenom as string
    set chemin to (path to desktop folder) as string
    set chemin2 to chemin & lenom as string
    set chemin3 to chemin2 & ":ELEMENTS" as string
   
    make new folder at chemin with properties {name:lenom}
    make new folder at chemin2 with properties {name:"IMAGES"}
    make new folder at chemin2 with properties {name:"ORIGINAUX"}
    make new folder at chemin2 with properties {name:"ELEMENTS"}
    make new folder at chemin2 with properties {name:"VALIDATIONS"}
    make new folder at chemin3 with properties {name:"GCR"}
    make new folder at chemin3 with properties {name:"MAILS"}
end tell
 
  • J’aime
Réactions: daffyb
On pourrait aussi faire un script de dossier. À chaque fois qu’on dépose un dossier dans le dossier « magique » ça crée à l’intérieur l’arborescence.
 
Voila le script modifié avec gcr et mails
Bloc de code:
display dialog "Entrer le nom du dossier à créer: " default answer "Dossier"
set lenom to text returned of result

tell application "Finder"
    set lenom to lenom as string
    set chemin to (path to desktop folder) as string
    set chemin2 to chemin & lenom as string
    set chemin3 to chemin2 & ":ELEMENTS" as string
  
    make new folder at chemin with properties {name:lenom}
    make new folder at chemin2 with properties {name:"IMAGES"}
    make new folder at chemin2 with properties {name:"ORIGINAUX"}
    make new folder at chemin2 with properties {name:"ELEMENTS"}
    make new folder at chemin2 with properties {name:"VALIDATIONS"}
    make new folder at chemin3 with properties {name:"GCR"}
    make new folder at chemin3 with properties {name:"MAILS"}
end tell


Parfait, c'est exactement ce que je cherchais. En plus j'ai compris l'écriture du script donc si je dois faire des modifications, je pourrais le faire moi même.
Merci à tous :)