Monter et démonter des disques diversement formatés
14 réponses
mv
Hello,
Le script #1 permet de faire monter des volumes formatés Apple (formatage traditionnel et formatage
Core Storage), et formatés "Windows" (FAT32 et ExFAT).
NB Si les volumes formatés "Windows" ont été éjectés via le Finder, la seule solution est de les
débrancher du Mac puis de les rebrancher.
Si ces volumes ont été démontés via le script #2, le script #1 permet de les remonter sans avoir à
les débrancher/rebrancher.
Script #1
***************
set text item delimiters to ""
set liste to (do shell script "diskutil list") as text
set liste to every paragraph of liste as list
set newList to {}
set critere to {"Apple_HFS", "DOS_FAT_32", "Microsoft Basic Data", "Apple_CoreStorage"}
considering case
repeat with unParagraph in liste
repeat with unCritere in critere
if unCritere is in (unParagraph as text) then
copy last word of (unParagraph as text) to the end of newList
end if
end repeat
end repeat
end considering
-- return newList
repeat with unVolume in newList
try
do shell script "diskutil mount " & unVolume
end try
end repeat
***************
Le script #2 permet de démonter tous les volumes démontables (donc pas les volumes utilisés pour une
raison ou une autre).
Script #2
***************
set text item delimiters to ""
set liste to (do shell script "diskutil list") as text
set liste to every paragraph of liste as list
set newList to {}
set critere to {"Apple_HFS", "DOS_FAT_32", "Microsoft Basic Data", "Apple_CoreStorage"}
considering case
repeat with unParagraph in liste
repeat with unCritere in critere
if unCritere is in (unParagraph as text) then
copy last word of (unParagraph as text) to the end of newList
end if
end repeat
end repeat
end considering
-- return newList
repeat with unVolume in newList
try
do shell script "diskutil unmount " & unVolume
end try
end repeat
***************
À tester...
--
Michel Vauquois - <http://michelvauquois.fr>
Nouveau : <http://art-doise-4.michelvauquois.free-h.fr>
et <http://art-doise-5.michelvauquois.free-h.fr>
Le script #2 démonte mes disques Time Machine qui sont temporairement au repos tant qu'ils ne sont pas sollicités par le système. -- Gérard FLEUROT plus un
M.V. après avoir mûrement réfléchi nous suggère :
À tester...
Le script #2 démonte mes disques Time Machine qui sont temporairement au
repos tant qu'ils ne sont pas sollicités par le système.
--
Gérard FLEUROT <g4fleurot@free.fr> plus un
Le script #2 démonte mes disques Time Machine qui sont temporairement au repos tant qu'ils ne sont pas sollicités par le système. -- Gérard FLEUROT plus un
josephb
Fleuger émit :
Le script #2 démonte mes disques Time Machine qui sont temporairement au repos tant qu'ils ne sont pas sollicités par le système.
Oui, mais lors de mes tests j'ai pu voir qu'ils remontent tout seuls si le Système leur cause. Du moins avec Lion. -- J. B.
Fleuger <g4fleurot@free.fr> émit :
Le script #2 démonte mes disques Time Machine qui sont temporairement au
repos tant qu'ils ne sont pas sollicités par le système.
Oui, mais lors de mes tests j'ai pu voir qu'ils remontent tout seuls si
le Système leur cause.
Du moins avec Lion.
--
J. B.
Le script #2 démonte mes disques Time Machine qui sont temporairement au repos tant qu'ils ne sont pas sollicités par le système.
Oui, mais lors de mes tests j'ai pu voir qu'ils remontent tout seuls si le Système leur cause. Du moins avec Lion. -- J. B.
mv
Fleuger a attiré mon attention en écrivant :
À tester...
Le script #2 démonte mes disques Time Machine qui sont temporairement au repos tant qu'ils ne sont pas sollicités par le système.
Normal donc puisque s'ils ne sont pas sollicités par le système, ils ne sont donc pas "occupés" et sont donc réputés comme étant démontables. Comment s'appellent ces disques ? Ce sera facile de les exclure du démontage généralisé en ajoutant une ligne pour chaque disque à exclure : ********************** considering case repeat with unParagraph in liste repeat with unCritere in critere if unCritere is in (unParagraph as text) then copy last word of (unParagraph as text) to the end of newList end if end repeat end repeat end considering ********************** deviendra si on veut exclure le disque nom_du_disque (dans le script, il faut garder les guillemets autour du nom) : ********************** considering case repeat with unParagraph in liste repeat with unCritere in critere if unCritere is in (unParagraph as text) then if "nom_du_disque" is not in unParagraph then copy last word of (unParagraph as text) to the end of newList end if end repeat end repeat end considering ********************** Cordialement. -- Michel Vauquois - <http://michelvauquois.fr> Nouveau : <http://art-doise-4.michelvauquois.free-h.fr> et <http://art-doise-5.michelvauquois.free-h.fr>
Fleuger <g4fleurot@free.fr> a attiré mon attention en écrivant :
> À tester...
Le script #2 démonte mes disques Time Machine qui sont temporairement au
repos tant qu'ils ne sont pas sollicités par le système.
Normal donc puisque s'ils ne sont pas sollicités par le système, ils ne sont donc pas "occupés" et sont donc réputés comme étant démontables.
Comment s'appellent ces disques ? Ce sera facile de les exclure du démontage généralisé en ajoutant une ligne pour chaque disque à exclure :
**********************
considering case
repeat with unParagraph in liste
repeat with unCritere in critere
if unCritere is in (unParagraph as text) then
copy last word of (unParagraph as text) to the end of newList
end if
end repeat
end repeat
end considering
**********************
deviendra si on veut exclure le disque nom_du_disque (dans le script, il faut garder les guillemets autour du nom) :
**********************
considering case
repeat with unParagraph in liste
repeat with unCritere in critere
if unCritere is in (unParagraph as text) then
if "nom_du_disque" is not in unParagraph then copy last word of (unParagraph as text) to the end of newList
end if
end repeat
end repeat
end considering
**********************
Cordialement.
--
Michel Vauquois - <http://michelvauquois.fr>
Nouveau : <http://art-doise-4.michelvauquois.free-h.fr>
et <http://art-doise-5.michelvauquois.free-h.fr>
Le script #2 démonte mes disques Time Machine qui sont temporairement au repos tant qu'ils ne sont pas sollicités par le système.
Normal donc puisque s'ils ne sont pas sollicités par le système, ils ne sont donc pas "occupés" et sont donc réputés comme étant démontables. Comment s'appellent ces disques ? Ce sera facile de les exclure du démontage généralisé en ajoutant une ligne pour chaque disque à exclure : ********************** considering case repeat with unParagraph in liste repeat with unCritere in critere if unCritere is in (unParagraph as text) then copy last word of (unParagraph as text) to the end of newList end if end repeat end repeat end considering ********************** deviendra si on veut exclure le disque nom_du_disque (dans le script, il faut garder les guillemets autour du nom) : ********************** considering case repeat with unParagraph in liste repeat with unCritere in critere if unCritere is in (unParagraph as text) then if "nom_du_disque" is not in unParagraph then copy last word of (unParagraph as text) to the end of newList end if end repeat end repeat end considering ********************** Cordialement. -- Michel Vauquois - <http://michelvauquois.fr> Nouveau : <http://art-doise-4.michelvauquois.free-h.fr> et <http://art-doise-5.michelvauquois.free-h.fr>
mv
M.V. a attiré mon attention en écrivant :
Je n'ai pas tenu compte d'une modif à apporter (c'est Joseph-B qui a attiré mon attention dessus : rajouter un "exit repeat" dès que le script rencontre un des mots-clés dans la liste : ********************** considering case repeat with unParagraph in liste repeat with unCritere in critere if unCritere is in (unParagraph as text) then copy last word of (unParagraph as text) to the end of newList exit repeat <-- ICI end if end repeat end repeat end considering ********************** Cordialement. -- Michel Vauquois - <http://michelvauquois.fr> Nouveau : <http://art-doise-4.michelvauquois.free-h.fr> et <http://art-doise-5.michelvauquois.free-h.fr>
M.V. <mv@orange.invalid> a attiré mon attention en écrivant :
Je n'ai pas tenu compte d'une modif à apporter (c'est Joseph-B qui a attiré mon attention dessus :
rajouter un "exit repeat" dès que le script rencontre un des mots-clés dans la liste :
**********************
considering case
repeat with unParagraph in liste
repeat with unCritere in critere
if unCritere is in (unParagraph as text) then
copy last word of (unParagraph as text) to the end of newList
exit repeat <-- ICI
end if
end repeat
end repeat
end considering
**********************
Cordialement.
--
Michel Vauquois - <http://michelvauquois.fr>
Nouveau : <http://art-doise-4.michelvauquois.free-h.fr>
et <http://art-doise-5.michelvauquois.free-h.fr>
Je n'ai pas tenu compte d'une modif à apporter (c'est Joseph-B qui a attiré mon attention dessus : rajouter un "exit repeat" dès que le script rencontre un des mots-clés dans la liste : ********************** considering case repeat with unParagraph in liste repeat with unCritere in critere if unCritere is in (unParagraph as text) then copy last word of (unParagraph as text) to the end of newList exit repeat <-- ICI end if end repeat end repeat end considering ********************** Cordialement. -- Michel Vauquois - <http://michelvauquois.fr> Nouveau : <http://art-doise-4.michelvauquois.free-h.fr> et <http://art-doise-5.michelvauquois.free-h.fr>
g4fleurot
M.V. a écrit :
Comment s'appellent ces disques
****** set text item delimiters to "" set liste to (do shell script "diskutil list") as text set liste to every paragraph of liste as list set newList to {} set critere to {"Apple_HFS", "DOS_FAT_32", "Microsoft Basic Data", "Apple_CoreStorage"} considering case repeat with unParagraph in liste repeat with unCritere in critere if unCritere is in (unParagraph as text) then copy last word of (unParagraph as text) to the end of newList if "DD-2To" is not in unParagraph then copy last word of (unParagraph as text) to the end of newList if "DD-1To" is not in unParagraph then copy last word of (unParagraph as text) to the end of newList end if end repeat end repeat end considering -- return newList repeat with unVolume in newList try do shell script "diskutil unmount " & unVolume end try end repeat ******** les deux disques "DD-1To" et "DD-2To" sont démontés -- Gérard FLEUROT plus un
M.V. a écrit :
Comment s'appellent ces disques
******
set text item delimiters to ""
set liste to (do shell script "diskutil list") as text
set liste to every paragraph of liste as list
set newList to {}
set critere to {"Apple_HFS", "DOS_FAT_32", "Microsoft Basic Data", "Apple_CoreStorage"}
considering case
repeat with unParagraph in liste
repeat with unCritere in critere
if unCritere is in (unParagraph as text) then
copy last word of (unParagraph as text) to the end of newList
if "DD-2To" is not in unParagraph then copy last word of (unParagraph as text) to the end of newList
if "DD-1To" is not in unParagraph then copy last word of (unParagraph as text) to the end of newList
end if
end repeat
end repeat
end considering
-- return newList
repeat with unVolume in newList
try
do shell script "diskutil unmount " & unVolume
end try
end repeat
********
les deux disques "DD-1To" et "DD-2To" sont démontés
--
Gérard FLEUROT <g4fleurot@free.fr> plus un
****** set text item delimiters to "" set liste to (do shell script "diskutil list") as text set liste to every paragraph of liste as list set newList to {} set critere to {"Apple_HFS", "DOS_FAT_32", "Microsoft Basic Data", "Apple_CoreStorage"} considering case repeat with unParagraph in liste repeat with unCritere in critere if unCritere is in (unParagraph as text) then copy last word of (unParagraph as text) to the end of newList if "DD-2To" is not in unParagraph then copy last word of (unParagraph as text) to the end of newList if "DD-1To" is not in unParagraph then copy last word of (unParagraph as text) to the end of newList end if end repeat end repeat end considering -- return newList repeat with unVolume in newList try do shell script "diskutil unmount " & unVolume end try end repeat ******** les deux disques "DD-1To" et "DD-2To" sont démontés -- Gérard FLEUROT plus un
mv
Fleuger a attiré mon attention en écrivant :
les deux disques "DD-1To" et "DD-2To" sont démontés
Alors qu'ils ne devraient pas ? C'est juste que ton script ne va pas ! Tu as mal placé la ligne qui alimente "newList" ! Celui-ci devrait aller beaucoup mieux : ****** set text item delimiters to "" set liste to (do shell script "diskutil list") as text set liste to every paragraph of liste as list set newList to {} set critere to {"Apple_HFS", "DOS_FAT_32", "Microsoft Basic Data", "Apple_CoreStorage"} considering case repeat with unParagraph in liste repeat with unCritere in critere if unCritere is in (unParagraph as text) then if "DD-2To" is not in unParagraph then if "DD-1To" is not in unParagraph then copy last word of (unParagraph as text) to the end of newList end if end if end repeat end repeat end considering repeat with unVolume in newList try do shell script "diskutil unmount " & unVolume end try end repeat ******** Cordialement. -- Michel Vauquois - <http://michelvauquois.fr> Nouveau : <http://art-doise-4.michelvauquois.free-h.fr> et <http://art-doise-5.michelvauquois.free-h.fr>
Fleuger <g4fleurot@free.fr> a attiré mon attention en écrivant :
les deux disques "DD-1To" et "DD-2To" sont démontés
Alors qu'ils ne devraient pas ?
C'est juste que ton script ne va pas ! Tu as mal placé la ligne qui alimente "newList" !
Celui-ci devrait aller beaucoup mieux :
******
set text item delimiters to ""
set liste to (do shell script "diskutil list") as text
set liste to every paragraph of liste as list
set newList to {}
set critere to {"Apple_HFS", "DOS_FAT_32", "Microsoft Basic Data", "Apple_CoreStorage"}
considering case
repeat with unParagraph in liste
repeat with unCritere in critere
if unCritere is in (unParagraph as text) then
if "DD-2To" is not in unParagraph then
if "DD-1To" is not in unParagraph then copy last word of (unParagraph as text) to the end of newList
end if
end if
end repeat
end repeat
end considering
repeat with unVolume in newList
try
do shell script "diskutil unmount " & unVolume
end try
end repeat
********
Cordialement.
--
Michel Vauquois - <http://michelvauquois.fr>
Nouveau : <http://art-doise-4.michelvauquois.free-h.fr>
et <http://art-doise-5.michelvauquois.free-h.fr>
les deux disques "DD-1To" et "DD-2To" sont démontés
Alors qu'ils ne devraient pas ? C'est juste que ton script ne va pas ! Tu as mal placé la ligne qui alimente "newList" ! Celui-ci devrait aller beaucoup mieux : ****** set text item delimiters to "" set liste to (do shell script "diskutil list") as text set liste to every paragraph of liste as list set newList to {} set critere to {"Apple_HFS", "DOS_FAT_32", "Microsoft Basic Data", "Apple_CoreStorage"} considering case repeat with unParagraph in liste repeat with unCritere in critere if unCritere is in (unParagraph as text) then if "DD-2To" is not in unParagraph then if "DD-1To" is not in unParagraph then copy last word of (unParagraph as text) to the end of newList end if end if end repeat end repeat end considering repeat with unVolume in newList try do shell script "diskutil unmount " & unVolume end try end repeat ******** Cordialement. -- Michel Vauquois - <http://michelvauquois.fr> Nouveau : <http://art-doise-4.michelvauquois.free-h.fr> et <http://art-doise-5.michelvauquois.free-h.fr>
mv
La petite modif de rien du tout que j'ai encore oubliée ! Fleuger a attiré mon attention en écrivant :
les deux disques "DD-1To" et "DD-2To" sont démontés
Alors qu'ils ne devraient pas ? C'est juste que ton script ne va pas ! Tu as mal placé la ligne qui alimente "newList" ! Celui-ci devrait aller beaucoup mieux : ****** set text item delimiters to "" set liste to (do shell script "diskutil list") as text set liste to every paragraph of liste as list set newList to {} set critere to {"Apple_HFS", "DOS_FAT_32", "Microsoft Basic Data", "Apple_CoreStorage"} considering case repeat with unParagraph in liste repeat with unCritere in critere if unCritere is in (unParagraph as text) then if "DD-2To" is not in unParagraph then if "DD-1To" is not in unParagraph then copy last word of (unParagraph as text) to the end of newList end if exit repeat end if end repeat end repeat end considering repeat with unVolume in newList try do shell script "diskutil mount " & unVolume end try end repeat ******** Cordialement. -- Michel Vauquois - <http://michelvauquois.fr> Nouveau : <http://art-doise-4.michelvauquois.free-h.fr> et <http://art-doise-5.michelvauquois.free-h.fr>
La petite modif de rien du tout que j'ai encore oubliée !
Fleuger <g4fleurot@free.fr> a attiré mon attention en écrivant :
les deux disques "DD-1To" et "DD-2To" sont démontés
Alors qu'ils ne devraient pas ?
C'est juste que ton script ne va pas ! Tu as mal placé la ligne qui alimente "newList" !
Celui-ci devrait aller beaucoup mieux :
******
set text item delimiters to ""
set liste to (do shell script "diskutil list") as text
set liste to every paragraph of liste as list
set newList to {}
set critere to {"Apple_HFS", "DOS_FAT_32", "Microsoft Basic Data", "Apple_CoreStorage"}
considering case
repeat with unParagraph in liste
repeat with unCritere in critere
if unCritere is in (unParagraph as text) then
if "DD-2To" is not in unParagraph then
if "DD-1To" is not in unParagraph then copy last word of (unParagraph as text) to the end of newList
end if
exit repeat
end if
end repeat
end repeat
end considering
repeat with unVolume in newList
try
do shell script "diskutil mount " & unVolume
end try
end repeat
********
Cordialement.
--
Michel Vauquois - <http://michelvauquois.fr>
Nouveau : <http://art-doise-4.michelvauquois.free-h.fr>
et <http://art-doise-5.michelvauquois.free-h.fr>
La petite modif de rien du tout que j'ai encore oubliée ! Fleuger a attiré mon attention en écrivant :
les deux disques "DD-1To" et "DD-2To" sont démontés
Alors qu'ils ne devraient pas ? C'est juste que ton script ne va pas ! Tu as mal placé la ligne qui alimente "newList" ! Celui-ci devrait aller beaucoup mieux : ****** set text item delimiters to "" set liste to (do shell script "diskutil list") as text set liste to every paragraph of liste as list set newList to {} set critere to {"Apple_HFS", "DOS_FAT_32", "Microsoft Basic Data", "Apple_CoreStorage"} considering case repeat with unParagraph in liste repeat with unCritere in critere if unCritere is in (unParagraph as text) then if "DD-2To" is not in unParagraph then if "DD-1To" is not in unParagraph then copy last word of (unParagraph as text) to the end of newList end if exit repeat end if end repeat end repeat end considering repeat with unVolume in newList try do shell script "diskutil mount " & unVolume end try end repeat ******** Cordialement. -- Michel Vauquois - <http://michelvauquois.fr> Nouveau : <http://art-doise-4.michelvauquois.free-h.fr> et <http://art-doise-5.michelvauquois.free-h.fr>
g4fleurot
M.V. a écrit ceci :
Alors qu'ils ne devraient pas ?
Oui
C'est juste que ton script ne va pas ! Tu as mal placé la ligne qui alimente "newList" !
Vu
Celui-ci devrait aller beaucoup mieux :
Oui, ç'est tout bon ;-) Vous êtes vraiment très forts. -- Gérard FLEUROT plus un
M.V. a écrit ceci :
Alors qu'ils ne devraient pas ?
Oui
C'est juste que ton script ne va pas ! Tu as mal placé la ligne
qui alimente "newList" !
Vu
Celui-ci devrait aller beaucoup mieux :
Oui, ç'est tout bon ;-)
Vous êtes vraiment très forts.
--
Gérard FLEUROT <g4fleurot@free.fr> plus un
C'est juste que ton script ne va pas ! Tu as mal placé la ligne qui alimente "newList" !
Vu
Celui-ci devrait aller beaucoup mieux :
Oui, ç'est tout bon ;-) Vous êtes vraiment très forts. -- Gérard FLEUROT plus un
josephb
Bonjour Gérard, Fleuger émit :
les deux disques "DD-1To" et "DD-2To" sont démontés
essaie ça STP ******************* set text item delimiters to "" set liste to (do shell script "diskutil list") as text set liste to every paragraph of liste as list set newList to {} set critere to {"Apple_HFS", "DOS_FAT_32", "Microsoft Basic Data", "Apple_CoreStorage"} considering case repeat with unParagraph in liste if not (unParagraph contains "DD-2To" or unParagraph contains "DD-1To") then repeat with unCritere in critere if unCritere is in (unParagraph as text) then copy last word of (unParagraph as text) to the end of newList exit repeat end if end repeat end if end repeat end considering repeat with unVolume in newList try do shell script "diskutil unmount " & unVolume end try end repeat ******************** -- J. B.
les deux disques "DD-1To" et "DD-2To" sont démontés
essaie ça STP
*******************
set text item delimiters to ""
set liste to (do shell script "diskutil list") as text
set liste to every paragraph of liste as list
set newList to {}
set critere to {"Apple_HFS", "DOS_FAT_32", "Microsoft Basic Data", "Apple_CoreStorage"}
considering case
repeat with unParagraph in liste
if not (unParagraph contains "DD-2To" or unParagraph contains "DD-1To") then
repeat with unCritere in critere
if unCritere is in (unParagraph as text) then
copy last word of (unParagraph as text) to the end of newList
exit repeat
end if
end repeat
end if
end repeat
end considering
repeat with unVolume in newList
try
do shell script "diskutil unmount " & unVolume
end try
end repeat
********************
--
J. B.
les deux disques "DD-1To" et "DD-2To" sont démontés
essaie ça STP ******************* set text item delimiters to "" set liste to (do shell script "diskutil list") as text set liste to every paragraph of liste as list set newList to {} set critere to {"Apple_HFS", "DOS_FAT_32", "Microsoft Basic Data", "Apple_CoreStorage"} considering case repeat with unParagraph in liste if not (unParagraph contains "DD-2To" or unParagraph contains "DD-1To") then repeat with unCritere in critere if unCritere is in (unParagraph as text) then copy last word of (unParagraph as text) to the end of newList exit repeat end if end repeat end if end repeat end considering repeat with unVolume in newList try do shell script "diskutil unmount " & unVolume end try end repeat ******************** -- J. B.
g4fleurot
Joseph-B a écrit ceci :
essaie ça STP
C'est bon aussi. Chapeau bas à vous deux. -- Gérard FLEUROT plus un
Joseph-B a écrit ceci :
essaie ça STP
C'est bon aussi.
Chapeau bas à vous deux.
--
Gérard FLEUROT <g4fleurot@free.fr> plus un