[GastForen Programmierung/Entwicklung AppleScript Filename ändern

  • Suche
  • Hilfe
  • Lesezeichen
  • Benutzerliste
Themen
Beiträge
Moderatoren
Letzter Beitrag

Filename ändern

Anonym
Beiträge gesamt: 22827

25. Aug 2004, 08:46
Beitrag # 1 von 18
Bewertung:
(6257 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Hans,

möchte allen Files per Ordnerscript ein _G einfügen (immer vor der Suffix)
aus k10s022023.pdf sollte k10s022023_G.pdf werden.

Danke
Gruss willem
X

Filename ändern

Hans Haesler
  
Beiträge gesamt: 5826

25. Aug 2004, 09:21
Beitrag # 2 von 18
Beitrag ID: #418983
Bewertung:
(6256 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Willem,

für eine solche Aufgabe ziehe ich ein Droplet vor. Man zieht die Dateien auf das Icon
des Droplets, die Namen werden ergänzt, die Dateien bleiben dabei in ihrem Ordner.
---
on open fileList
  set AppleScript's text item delimiters to {":"}
  repeat with aFile in fileList
    set fullPath to aFile as string
    if fullPath ends with ".pdf" then
      set fileName to text 1 thru -5 of (last text item of fullPath)
      set newName to fileName & "_G.pdf"
      try
        tell application "Finder" to set name of file fullPath to newName
      end try
    end if
  end repeat
  set AppleScript's text item delimiters to {""}
end open
---
Diese Minimalversion könnte man natürlich ausbauen, indem ein Konfigurations-Dialog gezeigt
wird, mit welchem zum Beispiel das Suffix und der einzufügende Buchstabe bestimmt wird.

Hans Haesler <hsa@ringier.ch>


als Antwort auf: [#418982]

Filename ändern

Anonym
Beiträge gesamt: 22827

25. Aug 2004, 09:38
Beitrag # 3 von 18
Beitrag ID: #418984
Bewertung:
(6256 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Hans,

das ging ja flott, vielen Dank

badische Grüsse an die Schweiz
willem


als Antwort auf: [#418982]

Filename ändern

Hans Haesler
  
Beiträge gesamt: 5826

25. Aug 2004, 10:08
Beitrag # 4 von 18
Beitrag ID: #418985
Bewertung:
(6256 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Willem,

bitteschön. Ich werde in der Mittagspause die Deluxe-Version des Droplets
entwickeln und es Dir zustellen. Wenn der Code nicht zu umfangreich wird,
werde ich ihn auch hier veröffentlichen.

Hans Haesler <hsa@ringier.ch>


als Antwort auf: [#418982]

Filename ändern

Hans Haesler
  
Beiträge gesamt: 5826

25. Aug 2004, 12:58
Beitrag # 5 von 18
Beitrag ID: #418986
Bewertung:
(6256 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Willem,

une hier ist die Deluxe-Lösung. Sie erlaubt, den Buchstaben und das Suffix zu wechseln,
ohne dass das Script geöffnet, geändert und gesichert werden muss. Dies wird durch den
Gebrauch von Variablen ermöglicht, welche als 'property' deklariert sind. Dadurch wird
der Wert gespeichert.

Den folgenden Code als Applikation sichern. Damit erhält man ein Droplet (das Icon hat einen
senkrechten Pfeil). Zum Ändern der Einstellungen macht man einen Doppelklick auf das Icon.
Der definierte Run-Handler ruft den Handler 'showConfig' auf. Dieser zeigt mit einem Dialog
die aktuellen Einstellungen an.

Der Klick auf "Ändern" zeigt einen weiteren Dialog, in welchem der Buchstabe eingegeben
werden kann. Auf "OK" kommt noch der Dialog, mit welchem das Suffix geändert werden kann.
Nach dem abschliessenden "OK" wird nochmals der erste Dialog gezeigt, zur Bestätigung.

Dann ist das Droplet bereit, die zu ergänzenden Dateien zu behandeln.
---
property curChar : "G"
property curSuffix : ".pdf"

on run
  showConfig()
end run

on showConfig()
  set dR to display dialog &not;
    "Die aktuelle Einstellung:
   
Einzufügender Buchstabe: " & curChar & "
in Dateinamen mit diesem Suffix: " & curSuffix buttons {"Abbruch", "Ändern", "OK"} default button 3 with icon 1
  if button returned of dR = "Ändern" then
    modConfig()
  else if button returned of dR = "Abbruch" then
    error number -128
  end if
end showConfig

on modConfig()
  set curChar to text returned of (display dialog &not;
    "Welcher Buchstabe soll eingefügt werden?" default answer curChar)
  set curSuffix to text returned of (display dialog &not;
    "Welches Suffix?" default answer curSuffix)
  showConfig()
end modConfig

on open fileList
  set AppleScript's text item delimiters to {":"}
  repeat with aFile in fileList
    set fullPath to aFile as string
    if fullPath ends with curSuffix then
      set fileName to text 1 thru -5 of (last text item of fullPath)
      set newName to fileName & "_" & curChar & curSuffix
      try
        tell application "Finder" to set name of file fullPath to newName
      end try
    end if
  end repeat
  set AppleScript's text item delimiters to {""}
end open
---
Damit der Code nicht allzu lang wird, habe ich auf das Prüfen der Eingaben des Anwenders
verzichtet. Auch die Länge des neuen Dateinamens sollte man prüfen. Doch der try-Wrapper
sollte eigentlich genügen.

Hans Haesler <hsa@ringier.ch>


als Antwort auf: [#418982]

Filename ändern

Anonym
Beiträge gesamt: 22827

27. Aug 2004, 12:52
Beitrag # 6 von 18
Beitrag ID: #418987
Bewertung:
(6256 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Hans,

Super diese Deluxe Verion, hab schon eine Idee wo ich es einsetzen könnte.

Aber nochmal zu der "einfachen" Version.
Da ich per Markzscout-Workflow "namexy.pdfs" in einem Ordner auffange
- die PDF-Namen sind nie länger als 16 Zeichen -
hab ich Dein 1. Script versucht als Ordneraktion zu definieren, was grundsätzlich auch funktionierte, bis auf die unendlich vielen _G_G_G die angehängt wurden.
Könntest Du mir Hilfestellung geben?

-- on open fileList -- hab ich ersetzt durch
on adding folder items to thisFolder after receiving itemList
  set AppleScript's text item delimiters to {":"}
  -- repeat with aFile in fileList -- ersetzt durch
    repeat with aFile in itemList
    set fullPath to aFile as string
    if fullPath ends with ".pdf" then
      set fileName to text 1 thru -5 of (last text item of fullPath)
      set newName to fileName & "_G.pdf"
      try
        tell application "Finder" to set name of file fullPath to newName
      end try
    end if
  end repeat
  set AppleScript's text item delimiters to {""}
-- end open  -- ersetzt durch:
end adding folder items to

Gruss und Dank
willem


als Antwort auf: [#418982]

Filename ändern

Hans Haesler
  
Beiträge gesamt: 5826

27. Aug 2004, 13:20
Beitrag # 7 von 18
Beitrag ID: #418988
Bewertung:
(6256 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Willem,

ich kann Dein Problem mit den unendlich vielen _G_G_G_G nicht nachvollziehen.
Das Script, genauso wie Du es modifiziert hast, funktioniert hier wie vorgesehen.
---
on adding folder items to thisFolder after receiving itemList
  set AppleScript's text item delimiters to {":"}
  repeat with aFile in itemList
    set fullPath to aFile as string
    if fullPath ends with ".pdf" then
      set fileName to text 1 thru -5 of (last text item of fullPath)
      set newName to fileName & "_G.pdf"
      try
        tell application "Finder" to set name of file fullPath to newName
      end try
    end if
  end repeat
  set AppleScript's text item delimiters to {""}
end adding folder items to
---
Um mehr als ein "_G" zu erhalten, muss ich die Dateien aus dem Ordner heraus- und
dann wieder hineinverschieben. Ein Rätsel &#133;

Hans Haesler <hsa@ringier.ch>


als Antwort auf: [#418982]

Filename ändern

Anonym
Beiträge gesamt: 22827

28. Aug 2004, 12:42
Beitrag # 8 von 18
Beitrag ID: #418989
Bewertung:
(6256 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Hans,

gibt es auch eine "Deluxe" Version, bei der die Änderung am Beginn des Dateinamens eingefügt wird?

mit:
set fileName to text 1 thru 1 of (last text item of fullPath)
funktioniert es nicht.

Gruss willem


als Antwort auf: [#418982]

Filename ändern

Hans Haesler
  
Beiträge gesamt: 5826

28. Aug 2004, 18:04
Beitrag # 9 von 18
Beitrag ID: #418990
Bewertung:
(6256 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Willem,

ja, ich habe solch eine Version. Aber nur in französisch. Ich werde sie
übersetzen und mich dann wieder melden. Aber voraussichtlich nicht vor Montag.

Übrigens: Klappt es nun mit der Ordneraktion, welche die "_G" einfügt?

Hans Haesler <hsa@ringier.ch>


als Antwort auf: [#418982]

Filename ändern

Anonym
Beiträge gesamt: 22827

28. Aug 2004, 21:18
Beitrag # 10 von 18
Beitrag ID: #418991
Bewertung:
(6256 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Hans,

ach ja, nachdem ich den Rechner neugestartet hatte lief es problemlos.

Danke Dir
Gruss willem


als Antwort auf: [#418982]

Filename ändern

Hans Haesler
  
Beiträge gesamt: 5826

30. Aug 2004, 13:30
Beitrag # 11 von 18
Beitrag ID: #418992
Bewertung:
(6256 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Willem,

mit Deinem Versuch wird der neue Name nur ein Zeichen enthalten. Um an den bestehenden Namen zu Beginn etwas anzufügen, muss man den Befehl ungefähr so formulieren &#133;
Code
set newName to modChars & fileName 

&#133; wobei 'modChars' die einzufügenden Zeichen sind und 'fileName' der alte Dateiname.

Nun habe ich mein altes Script übersetzt und auch etwas erweitert: Es kümmert sich selbständig um die Suffixe.
Man muss diese nicht mehr von Fall zu Fall bestimmen.

Dies funktioniert so: Wenn das viertletzte Zeichen einer Datei ein Punkt ist, dann wird angenommen, dass es sich um ein Suffix handelt. Eine Änderung am Ende des Namens wird vor dem Suffix vorgenommen.

Ausnahme: Wenn die Optionen auf "Ende" und "ersetzen" stehen, der Ersetzen-String vier Zeichen zählt und mit einem Punkt beginnt, dann wird angenommen, dass das bestehende Suffix geändert werden soll.

Ein Konfigurationsdialog erlaubt zu bestimmen, ob der Name am Anfang oder am Ende geändert werden soll. Und ob die Zeichen angefügt oder ersetzt werden sollen.

Mit dem gleichen Script können auch Ordnernamen umbenannt werden.

Ich habe Dir das Droplet per Mail zugestellt. Wenn sich noch jemand dafür interessiert, der findet es hier:
http://www.fachhefte.ch  dann den Link "AppleScripts" anklicken, die Ordner "mac_os_9_d" und "allgemein" öffnen und die Datei "Dateinamen_aendern_9.sit" auswählen.

Hans Haesler <hsa@ringier.ch>


als Antwort auf: [#418982]

Filename ändern

Anonym
Beiträge gesamt: 22827

30. Aug 2004, 20:27
Beitrag # 12 von 18
Beitrag ID: #418993
Bewertung:
(6256 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Hans,

prima Script, hab schon mal allen Bildern von meiner DigiCam einen eindeutigen Namen vorangestellt.
HPIM344.jpg ist nach Monaten ?!?
Url04344.jpg dagegen schon besser!!!

Danke Hans

Gruss willem


als Antwort auf: [#418982]

Filename ändern

Hans Haesler
  
Beiträge gesamt: 5826

30. Aug 2004, 21:51
Beitrag # 13 von 18
Beitrag ID: #418994
Bewertung:
(6256 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Willem,

bitteschön. Das ging aber fix! :-)

Wie hast Du es denn geschafft? Der neue Name hat ein Zeichen mehr. Lass mich
raten: Zuerst ein Durchlauf, bei welchem vorne ein "U" eingefügt wurde. Dann der
finale Gang, bei welchem die fünf ersten Zeichen durch "Url04" ersetzt wurden.

Ich plane eine Verbesserung: Der Anwender kann definieren, wieviele Zeichen des
alten Namens ersetzt werden sollen. Im Moment wird automatisch dieselbe Anzahl
wie die Ergänzung umfasst ersetzt. Aber bis die neue Version bereit sein wird,
kann es etwas dauern, weil ich zurzeit andere Prioritäten habe.

Hans Haesler <hsa@ringier.ch>


als Antwort auf: [#418982]

Filename ändern

Anonym
Beiträge gesamt: 22827

5. Sep 2004, 22:31
Beitrag # 14 von 18
Beitrag ID: #418995
Bewertung:
(6256 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Hans,

>> Wie hast Du es denn geschafft? Der neue Name hat ein Zeichen mehr.
da hab ich mich beim Tippen vertan :-))

Nun nochmal zum Beitrag vom 27.Aug.04
Die vielen _G_G_Gs bei der Namensänderung hatte ich unter OS-X getestet. Unter 9.2.2 läuft es wie von Dir beschrieben.

Kannst Du mir das Script auf OS-X ändern?
Hab heute alles versucht, aber es hat nicht funktioniert. :-|

Gruss willem


als Antwort auf: [#418982]

Filename ändern

Hans Haesler
  
Beiträge gesamt: 5826

6. Sep 2004, 08:01
Beitrag # 15 von 18
Beitrag ID: #418996
Bewertung:
(6256 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Willem,

ich werde es in der Mittagspause versuchen, wenn ich dazu komme.
Denn diese Woche habe ich einen zeitintensiven Auftrag in Arbeit.

Gruss, Hans


als Antwort auf: [#418982]
X

Veranstaltungskalender

Hier können Sie Ihre Anlässe eintragen, welche einen Zusammenhang mit den Angeboten von HilfDirSelbst.ch wie z.B. Adobe InDesign, Photoshop, Illustrator, PDF, Pitstop, Affinity, Marketing, SEO, Büro- und Rechtsthemen etc. haben. Die Einträge werden moderiert freigeschaltet. Dies wird werktags üblicherweise innert 24 Stunden erfolgen.

pdf-icon Hier eine kleine Anleitung hinsichtlich Bedeutung der auszufüllenden Formularfelder.

Veranstaltungen
17.04.2024

Online
Mittwoch, 17. Apr. 2024, 10.00 - 10.30 Uhr

Webinar

Komplizierte, kleinteilige Aufträge; alles sehr speziell; seit Jahren bewährte Prozesse – da können wir nichts standardisieren und automatisieren! Das sagen viele Großformatdrucker – aber stimmt das wirklich, ist dem tatsächlich so? Günther Business Solutions und Impressed treten in einem Webinar den Gegenbeweis an. Experten beider Unternehmen zeigen, wie Großformatdrucker vom Einsatz zweier bewährter Lösungen profitieren können: • von advanter print+sign von Günther Business Solutions, dem ERP-System für den Großformatdruck, dass alle Phasen der Wertschöpfung im Large Format Printing abdeckt • von Impressed Workflow Server, der smarten PDF-Workflow-Lösung für Druckereien, die Datenmanagement, Preflight und Produktionssteuerung übernimmt Über die Kombination beider Lösungen können Großformatdrucker ihre Prozesse mit modernen Workflows Schritt für Schritt automatisieren – und so zügig deutliche Zeit- und Kosteneinsparungen realisieren. Das Webinar sollten Sie sich nicht entgehen lassen – damit Sie keine Effizienzpotenziale mehr liegen lassen. Melden Sie sich am besten gleich an, wir freuen uns auf Sie! PS: Melden Sie sich in jedem Fall an – sollten Sie zum Termin verhindert sein, erhalten Sie die Aufzeichnung.

kostenlos

Ja

Organisator: Impressed / Günther Business Solutions

https://www.impressed.de/schulung.php?c=sDetail&sid=326

Und es geht doch: Automatisierung im Großformatdruck!