Nach Umbennen kann Skript auf Ordner nicht mehr zugreifen

Maverick258

Mitglied
Thread Starter
Dabei seit
07.04.2014
Beiträge
33
Reaktionspunkte
1
Hallo!

Es scheint mir eigentlich ein triviales Problem und vermutlich ist es irgendwo auch schon mal beschrieben. Ich scheine aber dennoch zu blöd dazu zu sein.

Im Skript wird ein Ordner umbenannt und soll anschließend verschoben werden.
Nach dem Umrennen des Ordners kann das Skript auf den Ordner nicht mehr zugreifen.

tell application "Finder"
set myFolder to alias "Macintosh HD:Users:Test:" -- Dieser Ordner existiert bereits
set name of myFolder to "NeuerName" -- Ordner wird umbenannt
move myFolder to alias "Macintosh HD:Users:_Downloads:" -- und hier gibt es den Fehler (number -1728)
end tell

Dachte eigentlich das sollte gehen. Kann mich da jemand hier eines Besseren belehren und weiß, wie das geht?

Vielen Dank!


(MacOS 12.3.1)
 
Vielen Dank für die schnelle Antwort, aber das ist es leider nicht.

Die Variable myFolder verliert nach der Umbenennung den Bezug zum Ordner.
Ich kann auch für andere Operationen über die Variabel myFolder nicht mehr auf den Ordner zugreifen.
 
Hast Du es getestet?

tell application "Finder"
set myFolderPath to (path to documents folder as string) & "Test"
move folder myFolderPath to (path to desktop folder)
end tell
 
Edit: Habe mich geirrt. Ich teste das gerade mal ausgiebiger.
 
AppleScript:
use AppleScript version "2.4" -- Yosemite (10.10) or later
use framework "Foundation"
use scripting additions

tell application "Finder"
    set myFolder to alias "Macintosh HD:Users:meinuser:Test:"
    set myDestination to "Macintosh HD:Users:meinuser:Downloads:"
    set anItem to POSIX path of myFolder
    set fileRefURL to (current application's NSURL's fileURLWithPath:anItem)'s fileReferenceURL() -- get file reference from path 
    tell application "System Events" to set the name of disk item anItem to "Kasper2"
    set posixPath to (fileRefURL's |path|()) as text -- get path from file reference
    set myNewFolder to (POSIX file posixPath) as text
    move folder myNewFolder to myDestination
end tell

Funktioniert bei mir unter Monterey 12.3.1
 
Ich vermute du darfst nicht in Users schreiben sondern nur in deinen Userordner.
 
  • Gefällt mir
Reaktionen: mausfang
Das gibt dazu noch Probleme. Ja.
 
Hallo,

ich gehe mal davon aus, dass die Pfadangaben nicht stimmen und hier gar nicht in den Users Ordner geschrieben werden soll.

Ein alias ist jedenfalls ja eigentlich eine dynamische Referenz zu einem Objekt, die - wie mausfang schon verlinkt hat - so momentan nicht mehr funktioniert. Referenz schon, aber nicht dynamisch...

Hier ein etwas kürzeres Skript

AppleScript:
tell application "Finder"
    set myFolder to alias "Macintosh HD:Users:User:Test:"
    set _cont to container of myFolder
    
    set _newName to "NeuerName"
    set name of myFolder to _newName
    
    move folder _newName of _cont to "Macintosh HD:Users:User:_Downloads:"
    
end tell
 
  • Gefällt mir
Reaktionen: mausfang
Vielen Dank!
Beides funktioniert.
Den Teil von mausfang muss ich erstmal verstehen, aber da ackere ich mich mal durch.
 
  • Gefällt mir
Reaktionen: mausfang
Zurück
Oben Unten