Hier ist eine verbesserte Version, die die besten Aspekte beider Skripte kombiniert:
Verbesserungen:
✅ Dynamischer Dateipfad – Automatische Auswahl des Desktop-Ordners, aber mit der Möglichkeit, ihn anzupassen.
✅ Sichere Fehlerbehandlung – Überprüfung, ob die Datei existiert, bevor sie gelesen wird.
✅ Zwischenablage & URL-Encoding – Wahlweise Kopieren des Inhalts in die Zwischenablage oder Erstellen einer tomedo://
-URL.
✅ Kein Python-Abhängigkeit – Die URL-Encoding-Funktion wurde in AppleScript selbst umgesetzt.
set filePath to ((path to desktop folder as text) & "Text.txt") -- Datei auf dem Desktop
-- Überprüfung, ob die Datei existiert
tell application "System Events"
if not (exists file filePath) then
display dialog "Die Datei 'Text.txt' wurde nicht gefunden!" buttons {"OK"} default button "OK"
return
end if
end tell
try
-- Dateiinhalt lesen (UTF-8)
set fileContent to read file filePath as «class utf8»
-- Dateiinhalt in die Zwischenablage kopieren
set the clipboard to fileContent
display notification "Dateiinhalt wurde in die Zwischenablage kopiert." with title "AppleScript"
-- URL-Encoding für Sonderzeichen
set encodedContent to my encodeURL(fileContent)
-- Tomedo-URL aufrufen (optional)
set tomedoURL to "tomedo://aktionskette?Test-AK&val=" & encodedContent
open location tomedoURL
on error errorMessage
display dialog "Fehler: " & errorMessage buttons {"OK"} default button "OK"
end try
-- Funktion für URL-Encoding ohne Python
on encodeURL(this_text)
set theEncodedText to ""
set allowedChars to "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_.~"
repeat with i from 1 to length of this_text
set this_char to text i of this_text
if this_char is in allowedChars then
set theEncodedText to theEncodedText & this_char
else
set theEncodedText to theEncodedText & "%" & my decToHex((ASCII number this_char))
end if
end repeat
return theEncodedText
end encodeURL
-- Dezimal zu Hexadezimal Konvertierung (für URL-Encoding)
on decToHex(n)
set hexDigits to "0123456789ABCDEF"
set highDigit to (n div 16) + 1
set lowDigit to (n mod 16) + 1
return (text highDigit of hexDigits) & (text lowDigit of hexDigits)
end decToHex
Wie funktioniert das Skript?
- Dateipfad wird automatisch auf
Desktop/Text.txt
gesetzt.
- Überprüfung, ob die Datei existiert, bevor sie gelesen wird.
- Liest die Datei als UTF-8 und speichert den Inhalt in die Zwischenablage.
- Zeigt eine Benachrichtigung, dass die Datei erfolgreich verarbeitet wurde.
- Kodiert den Inhalt in eine URL (ohne Python-Abhängigkeit!).
- Erstellt und öffnet eine
tomedo://
-URL, falls nötig.
- Sichere Fehlerbehandlung – Falls ein Fehler auftritt, wird ein Dialog angezeigt.
Was ist besser an diesem Skript?
✔ Flexible Nutzung – Kopiert den Text und erstellt eine URL.
✔ Kein Python erforderlich – Alle Funktionen sind in AppleScript selbst umgesetzt.
✔ Bessere Fehlerbehandlung – Überprüft, ob die Datei existiert, bevor sie gelesen wird.
✔ Volle Kontrolle – Wenn du nur den Inhalt kopieren möchtest, kannst du den open location tomedoURL
-Teil entfernen.