1 votes

Applescript pour démonter les volumes correspondant à un modèle

J'ai plusieurs volumes de sauvegarde hors ligne et de sauvegarde amorçable sur un disque, et je voudrais les démonter tous au démarrage. Ils commencent tous par le nom "Backup".

J'ai trouvé l'Applescript suivant avec l'aimable autorisation de https://discussions.apple.com/thread/5102909 qui est très efficace, mais j'apprécierais que l'on m'aide à ajouter des jokers. Je voudrais qu'il démonte tous les volumes qui sont avec "Backup".

set volname to "Backup" -- # name of target volume  

set p to (POSIX path of (volname & ":" as alias))'s text 1 thru -2

set sh to "diskutil umount " & quoted form of p & " &> /dev/null &"

do shell script sh

J'ai l'impression que ça devrait être possible, mais je m'embrouille toujours avec la syntaxe correcte. Votre sagesse serait très appréciée !

*** Edit La structure de mes disques et volumes ressemble à ceci :

disk2s1 EFI
disk2s2 Backup System 10May19
disk2s3 Backup Archives

Je démonte les volumes au démarrage, pour que le disque puisse tourner. Chronosync monte/démonte automatiquement si nécessaire pendant les opérations de sauvegarde.

0voto

user3439894 Points 52496

Voici comment je m'y prendrais... Les éléments suivants exemple AppleScript code démontera tous les fichiers montés disque qui commence par "Backup" :

set listOfDisks to list disks
set listOfDisksToUnmount to {}

repeat with thisDisk in listOfDisks
    if thisDisk starts with "Backup" then
        copy contents of thisDisk to end of listOfDisksToUnmount
    end if
end repeat

if listOfDisksToUnmount is not {} then
    repeat with thisDisk in listOfDisksToUnmount
        do shell script "diskutil unmount /Volumes/" & thisDisk's quoted form
    end repeat
end if

Remarque : si vous avez un problème avec le unmount verbe con diskutil Essayez. unmountDisk à la place.

Nota: contents sur copy contents of thisDisk to end of listOfDisksToUnmount ne copie pas le contenu du fichier disque il copie le contenu de la élément de liste qui est le nom de la disque .


Note : Le <em>exemple </em><strong>AppleScript </strong><em>code </em>est juste cela et ne contient pas de <em>traitement des erreurs </em>comme il se doit. C'est à l'utilisateur qu'il incombe d'ajouter toute <em>gestion des erreurs </em>selon ce qui est approprié, nécessaire ou souhaité. Consultez le <a href="https://developer.apple.com/library/archive/documentation/AppleScript/Conceptual/AppleScriptLangGuide/reference/ASLR_control_statements.html#//apple_ref/doc/uid/TP40000983-CH6g-129232" rel="nofollow noreferrer"><strong>essayez </strong></a><em>déclaration </em>y <a href="https://developer.apple.com/library/archive/documentation/AppleScript/Conceptual/AppleScriptLangGuide/reference/ASLR_control_statements.html#//apple_ref/doc/uid/TP40000983-CH6g-129657" rel="nofollow noreferrer"><strong>erreur </strong></a><em>déclaration </em>en el <a href="https://developer.apple.com/library/archive/documentation/AppleScript/Conceptual/AppleScriptLangGuide/introduction/ASLR_intro.html" rel="nofollow noreferrer"><strong>Guide du langage AppleScript </strong></a>. Voir aussi, <a href="https://developer.apple.com/library/archive/documentation/AppleScript/Conceptual/AppleScriptLangGuide/reference/ASLR_error_xmpls.html#//apple_ref/doc/uid/TP40000983-CH221-SW1" rel="nofollow noreferrer"><strong>Travailler avec des erreurs </strong></a>. En outre, l'utilisation de la <a href="https://developer.apple.com/library/archive/documentation/AppleScript/Conceptual/AppleScriptLangGuide/reference/ASLR_cmds.html#//apple_ref/doc/uid/TP40000983-CH216-SW10" rel="nofollow noreferrer"><strong>retarder </strong></a><em>commande </em>peut être nécessaire entre les événements, le cas échéant, par ex. <code>delay 0.5</code> avec le <em>valeur </em>de la <em>retarder </em>définis de manière appropriée.

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X