Push-Nachrichten von MacTechNews.de
Würden Sie gerne aktuelle Nachrichten aus der Apple-Welt direkt über Push-Nachrichten erhalten?
Forum>Software>Apple-Script Frage

Apple-Script Frage

maggi
maggi03.11.0612:54
Ich möchte ein Apple-Script erstellen das folgendes für mich erledigt:

In einem Bestehenden Ordner befinden sich weitere Unterordner.
Diese Unterordner sollen mit einem Buchstaben (z. B. einem "T") , einer fortlaufenden Nummer (1, 2, 3, ... usw.) und dem aktuellen Datum unbenannt werden.

Dieses Script würde ich dann gerne als Ordneraktion für den Bestehenden Ordner verwenden.

Ich muss dazu sagen, dass ich überhaupt keine Ahnung von Apple-Script habe!

Ich hoffe mir kann jemand weiter helfen!

Gruß
MAGGI
0

Kommentare

maggi
maggi03.11.0613:33
Ja, leider laufen meine Automator-Aktionen am Ende nie

0
maggi
maggi03.11.0614:04


0
Michael Schmidt
Michael Schmidt03.11.0614:14
Ich schau mal, was ich da so machen kann…

CU
Schmiddl
„Trautman: "Er wird kommen und er wird mich hier rausholen." Russischer Offizier: "Was, glaubt dieser Mann, wer er ist? Gott?" Trautman: "Nein, Gott kennt Gnade!"“
0
maggi
maggi03.11.0615:02
Oh! Das wäre wirklich nett von Dir Micha!
Danke!


Michael Schmidt
Ich schau mal, was ich da so machen kann…

CU
Schmiddl

0
Michael Schmidt
Michael Schmidt03.11.0615:35
Mal schauen, ob es klappt:

[size=10]property characterToAdd : "T"

on adding folder items to this_folder after receiving added_items
   -- Datum im Format 061103 zur besseren Sortierung im Finder
   set nowDate to (do shell script "date +'%y%m%d'")
   try
      tell application "Finder"
         set allFolders to every folder of this_folder
         repeat with theFolder in allFolders
            set theName to (name of theFolder)
            if not my isNumberOK((text 2 thru -1 of theName)) or theName does not start with characterToAdd then
               -- Der Ordner heißt verkehrt
               -- Benenne ihn um:
               repeat with zaehler from 1 to 999
                  set newFolderName to characterToAdd & nowDate & (text -3 thru -1 of ("00" & zaehler))
                  try
                     set fileTest to (folder newFolderName of this_folder) as alias
                  on error
                     exit repeat
                  end try
               end repeat
               set name of theFolder to newFolderName
            end if
         end repeat
      end tell
      --on error errstr
      --log errstr
   end try
end adding folder items to

on isNumberOK(aStr)
   if length of aStr < 9 then return false
   try
      set foo to aStr as integer
      return true
   end try
   return false
end isNumberOK[/size]

Achtung! Teste das Script erst auf Funktionalität und ob diese deinen Wünschen entspricht! Nimm dazu einen frischen Ordner, hänge die Aktion an, und kopiere unwichtige Ordner hinein, die dann umbenannt werden können!

CU
Schmiddl
„Trautman: "Er wird kommen und er wird mich hier rausholen." Russischer Offizier: "Was, glaubt dieser Mann, wer er ist? Gott?" Trautman: "Nein, Gott kennt Gnade!"“
0
Michael Schmidt
Michael Schmidt03.11.0615:36
Na super! (sick) Ich dachte, BBCode funzt hier
Also nochmal:

property characterToAdd : "T"

on adding folder items to this_folder after receiving added_items
-- Datum im Format 061103 zur besseren Sortierung im Finder
set nowDate to (do shell script "date +'%y%m%d'")
try
tell application "Finder"
set allFolders to every folder of this_folder
repeat with theFolder in allFolders
set theName to (name of theFolder)
if not my isNumberOK((text 2 thru -1 of theName)) or theName does not start with characterToAdd then
-- Der Ordner heißt verkehrt : - (
-- Benenne ihn um:
repeat with zaehler from 1 to 999
set newFolderName to characterToAdd & nowDate & (text -3 thru -1 of ("00" & zaehler))
try
set fileTest to (folder newFolderName of this_folder) as alias
on error
exit repeat
end try
end repeat
set name of theFolder to newFolderName
end if
end repeat
end tell
--on error errstr
--log errstr
end try
end adding folder items to

on isNumberOK(aStr)
if length of aStr < 9 then return false
try
set foo to aStr as integer
return true
end try
return false
end isNumberOK



Achtung! Teste das Script erst auf Funktionalität und ob diese deinen Wünschen entspricht! Nimm dazu einen frischen Ordner, hänge die Aktion an, und kopiere unwichtige Ordner hinein, die dann umbenannt werden können!

CU
Schmiddl
„Trautman: "Er wird kommen und er wird mich hier rausholen." Russischer Offizier: "Was, glaubt dieser Mann, wer er ist? Gott?" Trautman: "Nein, Gott kennt Gnade!"“
0
maggi
maggi07.11.0610:15
Hi Michael,

erstmal vielen Dank für das Script!

Ich habe das Script als Ordneraktion angefügt und in den entsprechenden Ordner ein paar Ordner einkopiert - leider passiert nichts

Kanst Du mir vielleicht sagen wie ich das hinbekomme?

Gruß
Mark



0
Michael Schmidt
Michael Schmidt07.11.0612:56
Mit 10.4 bist du unterwegs, oder?
Behalte den Zielordner mal im Finder geöffnet, in irgendeiner alten OS X Version wurden Ordneraktionen nur bei geöffnetem Fenster ausgeführt

Kopierst du große Ordner in den Zielordner?
Dann kann es sein, dass die Ordneraktion schon zugreifen möchte, obwohl der Kopiervorgang noch nicht abgeschlossen ist. Ist das der Fall, müssen wir vor dem Umbenennen prüfen, ob der Ordner "noch wächst". Sag Bescheid für eine entsprechende Funktionalität. Bzw. würde das ja eh sinnvoll sein, ich melde mich gleich nochmal…

CU
Schmiddl
„Trautman: "Er wird kommen und er wird mich hier rausholen." Russischer Offizier: "Was, glaubt dieser Mann, wer er ist? Gott?" Trautman: "Nein, Gott kennt Gnade!"“
0
maggi
maggi07.11.0614:20
Hi,

ja ich benutze 10.4 genauer gesagt 10.4.8

habe das Fenster auf gelassen und es zuckt zwar nur es passiert weiter leider nichts...

Naja, ich finde es trotzdem sehr nett von Dir das Du Dir soviel Mühe gegeben hast!

Gruß
Mark
0
Michael Schmidt
Michael Schmidt07.11.0614:59
Das er zuckt, ist schonmal ein gutes Zeichen, d.h. nämlich, dass die Ordneraktion anspringt.

Nimm mal folgendes Script:

property characterToAdd : "T"

on adding folder items to this_folder after receiving added_items
try
waitForFolder(this_folder as string)
-- Datum im Format 061103 zur besseren Sortierung im Finder
set nowDate to (do shell script "date +'%y%m%d'")
tell application "Finder"
set allFolders to every folder of this_folder
repeat with theFolder in allFolders
set theName to (name of theFolder)
if not my isNumberOK((text 2 thru -1 of theName)) or theName does not start with characterToAdd then
-- Der Ordner heißt verkehrt : - (
-- Benenne ihn um:
repeat with zaehler from 1 to 999
set newFolderName to characterToAdd & nowDate & (text -3 thru -1 of ("00" & zaehler))
try
set fileTest to (folder newFolderName of this_folder) as alias
on error
exit repeat
end try
end repeat
set name of theFolder to newFolderName
end if
end repeat
end tell
--on error errstr
--log errstr
end try
end adding folder items to

on waitForFolder(folderPathAsString)
set oldInfo to {}
set nowInfo to {1}
repeat while oldInfo ? nowInfo
set oldInfo to do shell script "du -k " & quoted form of POSIX path of folderPathAsString
delay 5
set nowInfo to do shell script "du -k " & quoted form of POSIX path of folderPathAsString
end repeat

end waitForFolder

on isNumberOK(aStr)
if length of aStr < 9 then return false
try
set foo to aStr as integer
return true
end try
return false
end isNumberOK


CU
Schmiddl
„Trautman: "Er wird kommen und er wird mich hier rausholen." Russischer Offizier: "Was, glaubt dieser Mann, wer er ist? Gott?" Trautman: "Nein, Gott kennt Gnade!"“
0
maggi
maggi07.11.0615:52
Hallo Micha,

leider bekomme ich beim abspeichern des Skriptes eine Fehlermeldung ...

Schau Dir mal bitte das angefügte Bild an:

0
Michael Schmidt
Michael Schmidt07.11.0616:07
Uuups
Ersetze mal das ? durch alt-= (soll ein "ungleich" sein)

CU
Schmiddl
„Trautman: "Er wird kommen und er wird mich hier rausholen." Russischer Offizier: "Was, glaubt dieser Mann, wer er ist? Gott?" Trautman: "Nein, Gott kennt Gnade!"“
0
maggi
maggi07.11.0616:57
ES KLAPPT !!!!

DANKE!

Das "T" im Script kann ich jbestimmt auch in einen anderen Buchstaben austauschen oder?
0
Michael Schmidt
Michael Schmidt07.11.0617:18
Logo

CU
Schmiddl
„Trautman: "Er wird kommen und er wird mich hier rausholen." Russischer Offizier: "Was, glaubt dieser Mann, wer er ist? Gott?" Trautman: "Nein, Gott kennt Gnade!"“
0
Mac Steve Pro03.11.0613:26
hast du das schonmal mit automator versucht?
0
Mac Steve Pro03.11.0613:36
kenne mich leider auch ned wirklich mit applescript aus..
0

Kommentieren

Diese Diskussion ist bereits mehr als 3 Monate alt und kann daher nicht mehr kommentiert werden.