Ich versuche, ein Skript zu erstellen, das alle angeschlossenen externen Laufwerke auswirft und nicht weitermacht, bis sie alle getrennt sind.
Das Hauptproblem, das ich habe, besteht darin, die Variable vol_count
auf das Ergebnis des folgenden Skripts setzen zu können:
tell application "Terminal"
cd /Volumes
ls | wc -l
end tell
Ich habe dieses Skript auch nicht getestet, aber ich nehme an, dass Sie auf diese Weise einen Terminalbefehl in einem Applescript ausführen.
Zusatzfrage:
Wie würde ich dann alle bis auf zwei Festplatten auswerfen lassen (meine Festplatte ist in zwei Festplatten partitioniert)?
on run {}
tell application "Finder"
set vol_count to do shell script "cd /Volumes; ls | wc -l"
eject the disks
repeat until vol_count is equal to 2
set vol_count to do shell script "cd /Volumes; ls | wc -l"
end repeat
end tell
end run
versuchen:
set dontEject to {"Mac OS X", "Time Machine", "Media", "home", "net"}
set myDisks to list disks
repeat with aDisk in myDisks
if aDisk is not in dontEject then tell application "Finder" to eject aDisk
end repeat
Sie können so etwas tun:
set vol_count to do shell script "cd /Volumes; ls | wc -l"
Auf diese Weise führen Sie in AppleScript keinen Terminalbefehl aus. Versuchen Sie so etwas wie
set myvar to do shell script "ls ~"