tell application "Finder" if not (exists "GyazMail") then do shell script "hdiutil attach /Volumes/share/others/MacBook/GyazMail.dmg" end if end tell
Archiv für den Tag: 2. Dezember 2012
Unmount SMB share mit AppleScript
tell application "Finder" if exists "SHARE" then eject "SHARE" end if end tell
Mount SMB share mit AppleScript
tell application "Finder" if not (exists "SHARE") then mount volume "smb://192.168.11.200/share/" as user name "username" with password "password" end if end tell
AppleScript Variable in eine Datei schreiben
set newFile to new file with prompt "Output file:" default name "My New File" open for access newFile with write permission -- if you want to overwrite an existing file use set eof of newFile to 0 first. write "something useful" to newFile close access newFile
Lade Datei in AppleScript Variable
--example 1 set theFile to (choose file with prompt "Select a file to read:" of type {"TEXT"}) open for access theFile set fileContents to (read theFile) close access theFile --example 2 on readFile( unixPath ) set foo to (open for access (POSIX file unixPath )) set txt to (read foo for (get eof foo)) close access foo return txt end readFile --example 3 UTF-16 on readFile( unixPath ) set foo to (open for access (POSIX file unixPath )) set txt to (read foo for (get eof foo) as Unicode text) close access foo return txt end readFile --example 4 UTF-8 on readFile( unixPath ) set foo to (open for access (POSIX file unixPath )) set txt to (read foo for (get eof foo) as «class utf8») close access foo return txt end readFile --example 5 with terminal on readFile( unixPath ) return (do shell script "cat '" & unixPath & "'") end
Pfad der ausgewählten Datei in Finder
tell app "Finder" set selectedItem to (posix path of (the selection as alias)) end tell
Unix/HFS Pfad konvertieren
set theUnixPath to "/Users/Shared/" (POSIX file theUnixPath) as string --> "Macintosh HD:Users:Shared:" set theMacOSXPath to "Macintosh HD:Users:Shared:" POSIX path of theMacOSXPath --> "/Users/Shared/"
Call Method in AppleScript
it ‚call method‘ ist es mit AppleScript möglich auf Cocoa Methoden zuzugreifen. Der direkte Zugriff war aus eine AS Studio Projekt möglich. Einfache AppleScripts können diese nur über einen kleinen Umweg mit ‚Automator‘ bewerkstelligen.
Trotz dem Ende von AS Studio mit AppleScriptObjC will ich einige Beispiele hier auflisten. Mit ASOC sind die Möglichkeiten natürlich noch umfangreicher um auf Cocoa Klassen zuzugreifen.
-- bouncing dock icon for short time call method "requestUserAttention:" of class "NSApp" with parameter 10 -- endless bouncing dock icon call method "requestUserAttention:" of class "NSApp" with parameter 1
-- Kapitalisieren (capitalize) set foo to "The quick brown fox jumps over the lazy dog." tell application "Automator" set capitalizedString to call method "capitalizedString" of foo end tell
-- Alles Kleinbuchstaben (lowercase) set foo to "The quick brown fox jumps over the lazy dog." tell application "Automator" set lowercasedString to call method "lowercaseString" of foo end tell
-- Alles Großbuchstaben (uppercase) set foo to "The quick brown fox jumps over the lazy dog." tell application "Automator" set uppercasedString to call method "uppercaseString" of foo end tell
-- eine URL encoden set foo to "http://www.spiegel.de/ööü" tell application "Automator" set theNewPath to call method "stringByAddingPercentEscapesUsingEncoding:" of foo with parameter 5 --> ergibt "http://www.spiegel.de/%E4%F6%FC" end tell
-- eine URL decoden tell application "Automator" set theNewestPath to call method "stringByReplacingPercentEscapesUsingEncoding:" of "http://www.spiegel.de/%E4%F6%FC" with parameter 5 --> ergibt "http://www.spiegel.de/ööü" end tell
-- Tilde (~) auflösen set foo to "~/Library/Application Support" tell application "Automator" set fullPathString to call method "stringByExpandingTildeInPath" of foo end tell
-- Tilde (~) wieder hineinrechnen set foo to POSIX path of (path to desktop folder) tell application "Automator" set pathStringWithTilde to call method "stringByAbbreviatingWithTildeInPath" of foo end tell
-- Parent-Folder holen set foo to "~/Library/Application Support" tell application "Automator" set parentPath to call method "stringByDeletingLastPathComponent" of foo end tell
-- Pfad um Komponente erweitern set foo to "~/Library/" tell application "Automator" set deeperPath to call method "stringByAppendingPathComponent:" of foo with parameters {"Application Support"} end tell
-- Pfadkomonenten als Liste holen set foo to "~/Library/Application Support" tell application "Automator" set foo to call method "stringByExpandingTildeInPath" of foo set pathComponentsList to call method "pathComponents" of foo end tell
-- Mehrere Pfade gleichzeitig bauen set foo to "/Applications" set fooList to {"Utilities/Terminal.app", "iTunes.app", "Dictionary.app"} tell application "Automator" set pathList to call method "stringsByAppendingPaths:" of foo with parameters {fooList} end tell
-- einen kompletten Pfad bauen set fooList to {"Applications", "Utilities", "Terminal.app"} tell application "Automator" set theNewPath to call method "pathWithComponents:" of class "NSString" with parameters {fooList} end tell
--search & replace in string set {sourcestring, searchstring, replacestring} to {"Ich will ersetzt werden ;-)", "ersetzt", "versetzt"} tell application "Automator" set resultstring to call method "stringByReplacingOccurrencesOfString:withString:" of sourcestring with parameters {searchstring, replacestring} end tell
--php like explode/implode set {sourcestring, delimiter} to {"Das#ist#ein#Test", "#"} tell application "Automator" set splitStringList to call method "componentsSeparatedByString:" of sourcestring with parameter delimiter end tell
--php like explode/implode set {sourcestring, delimiter} to {"Das#ist#ein#Test", "#"} tell application "Automator" set splitStringList to call method "componentsSeparatedByString:" of sourcestring with parameter delimiter set joinedString to call method "componentsJoinedByString:" of splitStringList with parameter delimiter end tell