Fragen über Fragen zu Variablen

Xallo

Xallo

Aktives Mitglied
Thread Starter
Dabei seit
23.08.2005
Beiträge
245
Reaktionspunkte
2
Moin,

ich beisse mir gerade an einer relativ einfachen Sache die Zähne aus :D :mad:

Aufgabe:
Modifizierung des Erstellungs-/Änderungsdatum mittels Shell-Funktion (SetFile)

Umsetzung:
Einen Dienst/Workflow erstellen der...
  1. Datei übergibt
  2. nach einem String fragt
  3. Shell-Skript oder AppleScript ausführen

Problem:
wie speichere ich Werte in den Variablen bzw. kann ich mehrere Argumente an die nächste Aktion übergeben?
wenn zweites der Fall ist: wie kann ich mit der AppleScript-Aktion auf diese zugreifen? (Also, was ist in Input und was in Parameter?)
Kann es sein, dass die Variablen nur static sind, also nicht verändert werden können?

Steh gerade echt auf dem Schlauch :confused:


PS: gibt's 'ne Tastenkombination für fett schreiben und so hier im Forum?
 
Zuletzt bearbeitet:
Moin,

bin beim dem Dienst bis jetzt so weit:

Code:
on run {input, parameters}
	(* Your script goes here*)
	set datetime to text returned of (display dialog "Datum und Zeit" default answer "" buttons {"OK"} default button 1)
	
	set cmd to "SetFile -d " & datetime & " -m " & datetime & " " & path
	
	(*Your script goes until here *)
	return cmd
end run

input ist der Pfad zur Datei "Mac HD:Users:ICH:abcDatei 1.txt"

anschließend wird der String dann per Shell ausgeführt.

Das Problem ist, dass ich den Pfad von …
Mac HD:Users:ICH:abcDatei 1.txt
… in …
/Users/ICH/Datei\ 1.txt
… umwandeln muss! (also root, ":" und Leerzeichen anpassen)

Kann mir da jmd weiterhelfen?

grüße
 
Hallo,

set locationAsHFS to "Das:Ist:Ein:HFS:pfad"
set locationAsPosix to POSIX path of locationAsHFS
Die Methode "POSIX path of" erledigt alles für Dich.

Viele Grüße
 
  • Gefällt mir
Reaktionen: Xallo
hm... zwei Kleinigkeiten noch:

1. bei den Leerzeichen fehlt noch der "\" (-> "\ ")
2. wie kann ich nun den Befehl
Code:
"SetFile -d '06/30/07 23:20:12' -m '06/30/07 23:20:12' /Users/daniel/Desktop/VIDEOS/P1020093.MP4"
mit der Shell ausführen lassen?

in "Shell-Skript ausführen" steht:
Code:
for f in "$@"
do
	"$f"
done
 
Du markierst niemals selbst!

set locationOfFolder to POSIX path of (choose folder)
do shell script "ls " & quoted form of locationOfFolder

Viele Grüße
 
  • Gefällt mir
Reaktionen: Xallo
Zurück
Oben Unten