2016-11-12 1 views
-1

Avec le script, nous allons créer un autre script où sera la position de stockage de tous les éléments du bureau, le script créé sera être compilable et utilisable pour remettre en place tous les éléments précédemment protégés.Comment enregistrer vos éléments de bureau (icônes, fichiers, dossier) toujours au même endroit avec applescript

/adesktopsave/deskico.txt c'est le fichier temporaire qui sera utilisé pour la compilation. /adesktopsave/savedicoposition.scpt C'est le script de sauvegarde qui est compilé pour être utilisé avec applescrit

Tous les noms utilisés ici existent uniquement pour l'exemple. Ces noms n'ont aucune propriété particulière.

Il est juste nécessaire de planifier la création d'un dossier avant d'utiliser ce script. Ici, il est: /adesktopsave

Quelque chose d'autre, à la fin de la ligne (\ n) après "essayer " aussi "fin essayer " et & "} ")

sont très importants pour respecter pour que le texte soit utilisable.

tell application "Finder" to set theList to {name, desktop position} of items of desktop 
try 
do shell script "rm -f /adesktopsave/deskico.txt" 

do shell script "echo tell application " & quoted form of (quote & "Finder" & quote) & return & " >>/adesktopsave/deskico.txt" 

end try 

set n to (count (first item of theList)) 


repeat with i from 1 to n  

set inp to do shell script "echo " & quoted form of (item i of first item of theList)  

set xy to (item i of second item of theList)  

set AppleScript's text item delimiters to "," 

set xyz to do shell script "echo " & xy  
set wxyz to ("{" & xyz & "} 
")   

set ligne to "try 
" & "set desktop position of item " & quoted form of (quote & inp & quote) & " of desktop to " & quoted form of (wxyz) & "end try 
"  
set ligne to do shell script "echo " & ligne & " >>/adesktopsave/deskico.txt"  

end repeat 

do shell script "echo " & "end tell" & return & " >>/adesktopsave/deskico.txt" 

    display dialog "Do you want to save your icons in their current location?" buttons {"Cancel", "Save"} default button 2 with title "Save the positions of icons" 

    if (button returned of result) is "Cancel" then  
set n to do shell script "echo " & n 
else  
do shell script "osacompile -o " & "/adesktopsave/savedicoposition.scpt" & " /adesktopsave/deskico.txt" 
end if 

return n 
+1

Encore une fois, on ne sait pas que vous offrez un _solution_ plutôt que de demander une _question_ (je pense), et problème _Quels la solution solves_. Ni le titre ne me donne un indice, ni la description dans le corps du message, et peu de gens vont passer le temps de creuser à travers le code mal mis en forme, non commenté. – mklement0

+0

Je sais que ce n'est pas forcément compréhensible pour tout le monde. Quand je demande comment sauvegarder les éléments de bureau, c'est une question qui ne m'empêche pas d'apporter ma réponse, et que évidemment les autres, assez curieux, semblent pouvoir soit améliorer ce qui est déjà écrit, soit proposer leur propre solution. Ceci est pour ceux qui ne comprennent pas – deek5

Répondre

-1

Nous pouvons alléger le script à son expression la plus simple. Au risque d'avoir des erreurs peuvent être.

set ligne to "" 
do shell script "mkdir -p /adesktopsave" 
tell application "Finder" to set {names, positions} to {name, desktop position} of items of the desktop 
set ligne to "tell application \"Finder\" 
" 
set n to (count names) 
set AppleScript's text item delimiters to "," 
repeat with i from 1 to n 
set ligne to ligne & ("try 
" & "set desktop position of item " & (quote & item i of names & quote) & " to {" & item i of positions & "} 
end try 
") 
end repeat 
set ligne to ligne & ("end tell" & return) 
display dialog "Do you want to save your icons in their current location?" buttons {"Cancel", "Save"} default button 2 with title "Save the positions of icons" 
    if (button returned of result) is "Cancel" then 
    set n to do shell script "echo " & n 
else 
    do shell script "osacompile -o " & "/adesktopsave/savedicoposition.scpt -e " & quoted form of ligne 
end if 
set AppleScript's text item delimiters to "" 
tell application "Finder" to open POSIX file "/adesktopsave/savedicoposition.scpt" 
return n 
+0

Selon le système d'exploitation, vous devrez peut-être ajouter les permissions, par exemple, script shell "mkdir -p/adesktopsave" nom d'utilisateur "votrenom" mot de passe "yourPW" avec les privilèges d'administrateur, Probablement aussi pour script shell "osacompile -o" & "/adesktopsave/savedicosition.scpt -e" & forme de ligne nom d'utilisateur "yourname" mot de passe "yourPW" avec privilèges d'administrateur – deek5