script, programme question d'un débutant

LACK

Membre actif
21 Novembre 2006
109
2
Bonjour, je m'excuse d'avance de vous demander ceci, si cela a deja été expliqué. ;)

J'ai fait plusieurs recherches mais je n'ai pas reussi a trouver ce que je veux.


Je souhaiterais savoir s'il est possible de faire un script ou autre pour deplacer des dossiers.

je m'explique :

je voudrais double cliquer sur une icone qui lancerait un script qui va prendre dans un dossier A tous les dossiers (ex : D1, D2, D3) et les copier ainsi que remplacer les fichiers existant dans un dossier B (qui portent le meme nom D1, D2, D3)


EXemple :


dossier A [D1] ----> copie et remplace [D1] dans dossier B
[D2]..................................................[D2] dans dossier C
[D3]..................................................[D3] dans dossier G

J'espere que c'est comprehensible, merci beaucoup pour vos reponses. :up:

a plus :zen:
 
Salut à toi.

Tu as essayé automator?

Image_5.png
 
ou le shell... ? c'est fou la puissance du shell on se rend pas compte. Je redécouvre ça depuis une dizaine de jours, ben c'est très bourrin les scripts bash en fait on peut faire pleiiins de trucs plus tordus les uns que les autres.
 
Salut, oui j'ai regardé un peu hier soir mais j'ai pas vu qu'on pouvez mettre des dossiers particuliers.

Je vais quand meme verifier @+
 
Pour le shell ca doit etre plus compliqué non?
 
Salut,

Un truc tout simple qui va simplement dupliquer les dossiers d'un dossier sourceFolder vers un dossier targetFolder…à coller dans l'éditeur de scripts…

Bloc de code:
property sourceFolder : "Tiger:Users:zacro:Desktop:sourceFolder:" --chemin du dossier source
property targetFolder : "Tiger:Users:zacro:Desktop:targetFolder:" --chemin du dossier cible

on run
	tell application "Finder" to duplicate folders of folder sourceFolder to targetFolder replacing yes
end run
 
merci beaucoup,

pour le lancer ca fonctionne comment? un double clic sur une icone est possible?

sinon j'ai trouvé avec automator, j'avais fait une erreur au debut. donc c'est bon mais je suis curieux pour ton script
 
merci beaucoup,

pour le lancer ca fonctionne comment? un double clic sur une icone est possible?

sinon j'ai trouvé avec automator, j'avais fait une erreur au debut. donc c'est bon mais je suis curieux pour ton script
J'ai l'impression que son script ne te conviens pas de toute façon : il copie le contenu d'un dossier dans un autre mais toi tu voulais :
LACK a dit:
dossier A [D1] ----> copie et remplace [D1] dans dossier B
[D2]..................................................[D2] dans dossier C
[D3]..................................................[D3] dans dossier G

:)

Donc si ça marche avec ton automator c'est cool :)



Mais sinon son script tu l'ouvres dans l'Éditeur de Script puis tu fait enregistré sous et comme format tu choisi "Application" et il sera double-cliquable ;)
 
J'ai l'impression que son script ne te conviens pas de toute façon : il copie le contenu d'un dossier dans un autre mais toi tu voulais :

Le script correspond au texte de description mais, c'est vrai, pas à l'exemple…

Pour l'exemple ce serait plutôt :
Bloc de code:
property sourceFolderD1 : "Tiger:Users:zacro:Desktop:sourceFolder:D1:"
property sourceFolderD2 : "Tiger:Users:zacro:Desktop:sourceFolder:D2:"
property sourceFolderD3 : "Tiger:Users:zacro:Desktop:sourceFolder:D3:"
property targetFolderD1 : "Tiger:Users:zacro:Desktop:targetFolderD1:"
property targetFolderD2 : "Tiger:Users:zacro:Desktop:targetFolderD2:"
property targetFolderD3 : "Tiger:Users:zacro:Desktop:targetFolderD3:"

on run
	tell application "Finder"
		duplicate sourceFolderD1 to targetFolderD1 replacing yes
		duplicate sourceFolderD2 to targetFolderD2 replacing yes
		duplicate sourceFolderD3 to targetFolderD3 replacing yes
	end tell
end run

Il suffit de copier/coller ce script, après avoir remplacé les chemins des dossiers, dans l'éditeur de script puis de l'enregistrer au format application… ;)
 
merci beaucoup, je vais essayer car le probleme c'est que je vais le graver sur un DVD mais automator ne va pas garder le chemin d'accès des dossiers puisque je souhaiterais utiliser ce dvd et ces actions sur un autre ordi.
 
Je suis dans l'editeur de script mais j'ai un petit soucis. Pouvez vous me corriger
property DOSSIER1 : "Macintosh HD:dossier1:test"
property DOSSIER4 : "Macintosh HD:Applications:dossier4"

on run
tell application "Finder"
duplicate DOSSIER1 to DOSSIER4 replacing yes

end tell
end run

????
 
je me suis trompé en notant ici mais ils y sont dans le script
 
merci beaucoup, je vais essayer car le probleme c'est que je vais le graver sur un DVD mais automator ne va pas garder le chemin d'accès des dossiers puisque je souhaiterais utiliser ce dvd et ces actions sur un autre ordi.

Pour l'utilisation sur un autre ordi, si tes dossiers sont toujours aux mêmes endroits (dans le dossier applications, sur le bureau ou dans le dossier documents) il est possible de mettre des chemins relatifs. Chemins qui permettront au script de fonctionner quel que soit le nom de l'utilisateur et du disque dur…;)
 
c'est bon j'ai fait un test en simplifiant comme dans mon exemple et ca a marché.

par contre comment faire quand on veut prendre plusieurs fichiers dans un dossier et les copier d'un coup et non le dossier lui-meme.

exemple dans Dossier1 il y aurait fichier1, fichier2 et fichier3 et je voudrais les copier en un seul coup dans Dossier4
 
c'est bon j'ai fait un test en simplifiant comme dans mon exemple et ca a marché.

par contre comment faire quand on veut prendre plusieurs fichiers dans un dossier et les copier d'un coup et non le dossier lui-meme.

exemple dans Dossier1 il y aurait fichier1, fichier2 et fichier3 et je voudrais les copier en un seul coup dans Dossier4

Si tu veux copier tous les fichiers de Dossier1 dans Dossier4 tu mets :
Bloc de code:
		duplicate every document file of folder Dossier1 to Dossier4 replacing yes
 
ok je vais essayer tout de suite merci vraiment vraiment beaucoup pour ton aide.

Petite question Macintosh HD ne peut pas etre renommé par l'utilisateur?

c'est pour que sur tous les ordis le script fonctionne! (la racine)