[GastForen Programmierung/Entwicklung AppleScript Dateien umbenennen mit Hilfe einer Excel-Tabelle

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

Dateien umbenennen mit Hilfe einer Excel-Tabelle

tony_danza
Beiträge gesamt: 29

26. Mär 2018, 14:52
Beitrag # 31 von 37
Beitrag ID: #563134
Bewertung:
(3334 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Super,

vielen Dank!

Ich denke so können nun alle Mitleser nachvollziehen über was wir hier die ganze Zeit geredet haben.

Leider fehlt mir gerade die Zeit ein paar Fragen zum Script zu stellen, das werde ich aber machen sobald ich kann.

Manches ist mir nämlich noch nicht so ganz klar.

Trotzdem, bis hierhin ein riesen Dank noch mal Hans!
Dank deiner Hilfe kann ich mich meinem eigentlichen Job wieder widmen und muss nicht mehr so viel Zeit mit Dateien umbenennen verbringen ;)

viele Grüße
tony


als Antwort auf: [#563133]
Hier Klicken X

Dateien umbenennen mit Hilfe einer Excel-Tabelle

tony_danza
Beiträge gesamt: 29

26. Mär 2018, 23:13
Beitrag # 32 von 37
Beitrag ID: #563142
Bewertung:
(3314 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Hans,

zu aller erst, habe ich eine allgemeine Verständnisfrage.

Du verwendest wiederholt Befehle wie:
Code
repeat with n from 1 to nFiles 
repeat with n from 2 to nItems
repeat with c from 1 to count of indexList
...

wofür stehen denn die Buchstaben?
In meiner Vorstellung steht n für number, i für index, c für ???

Stimmt das irgendwie? Also haben die Buchstaben irgendeine Bedeutung? Und wenn ja, sind die Buchstaben abhängig vom Inhalt der Liste?

In einer Zeile steht repeat with n from 2. Dem kann ich irgendwie nicht folgen. Warum denn nicht from 1?

Dann hast du folgende Zeile platziert:
Code
# die Anzahl Elemente zählen  
set nItems to count items of artNumList


Ist es denn notwendig die Anzahl der Elemente zu zählen? Oder dient das nur dazu, sich die Anzahl anzeigen zu lassen wenn man möchte?

Code
# Variablen initialisieren  
set noMatch to 0
set noCode to 0

Was genau bedeuten denn diese Zeilen?

Das findet ja weiter unten im Script noch Verwendung, allerdings werde ich nicht schlau daraus. Könntest du mir das noch bitte erklären?
Ich verstehe in diesen Zeilen
Code
on error  
set noCode to noCode + 1

eigentlich nur: set noCode to 0 + 1

Wenn ich das mit noCode und noMatch mal verstanden habe, dann werde ich auch schlau aus den nProb Zeilen.

Beim Handler hörts komplett auf. Ich nehme das einfach mal so hin, dass diese Zeilen die Liste sortieren. Das musst du mir auch nicht erklären. Irgendwann werde ich das schon verstehen. Man lernt nie aus ;)

Wäre aber super wenn du mir ein paar Antworten auf meine Fragen geben könntest.

Ich danke dir schon mal und vielen Dank noch mal für deine tolle Version des Scripts! Ich war begeistert zu sehen wie es unter Realbedingung läuft. Schnell und zuverlässig.

viele Grüße
tony


als Antwort auf: [#563133]

Dateien umbenennen mit Hilfe einer Excel-Tabelle

Hans Haesler
  
Beiträge gesamt: 5606

27. Mär 2018, 09:17
Beitrag # 33 von 37
Beitrag ID: #563144
Bewertung:
(3298 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Tony,

*****
das n in 'repeat with n from 1 to nFiles' ist die Zählervariable.

Die Bedeutung von n kann ein Kürzel für number sein. Bei i wäre es iteration (= lat. "iterare" = "wiederholen").

Das i sollte im Forum vermieden werden, weil [i] der Code zum Kursivstellen ist. Jetzt scheint es repariert zu sein, aber eine Zeitlang war im geposteten Script das [i] verschwunden und sämtliche folgende Zeichen waren kursiv.

Der Variablen-Name kann aber auch aus mehreren Zeichen bestehen: 'repeat with tony from 1 to nFiles' :-)

Die Ein-Zeichen-Benennung stammt aus der Ur-Zeit, als ein Script nicht mehr als 32'000 Zeichen umfassen durfte. Das lernte einen, sparsam zu sein ... Bei ein paar Scripts musste ich auf sämtliches Kommentieren verzichten.

*****
Zitat In einer Zeile steht repeat with n from 2.

Das Script beginnt mit Reihe zwei, weil in der ersten Reihe Worte wie "Artikelnummer", "Farbcode" usw. stehen.

*****
Zitat Ist es denn notwendig die Anzahl der Elemente zu zählen?

Als ich mit dem Entwickeln von AppleScripts begann, wurde einem empfohlen, die Anzahl Elemente vorher, ausserhalb der Schleife zu zählen. Damit dieser Wert nicht ständig, bei jedem Umgang geholt werden muss. Ich konnte damals keine Bremswirkung feststellen und habe den Rat nicht befolgt.

Aber bei einem JavaScript wird die Ausführung beschleunigt. Deshalb übernahm ich dieses Vorgehen auch für AppleScript. Schon nur, dass die Startzeile der Schleife "sauberer" aussieht.

Beim vorliegenden Droplet wird 'nFiles' bei der erneuten Schleife durch die gedroppten Dateien nochmals verwendet.

*****
Code
# Variablen initialisieren 
set noMatch to 0
set noCode to 0

Diese Zeilen machen genau das, was der Kommentar darüber sagt. Damit der Wert einer Variablen im Script inkrementiert werden kann, muss ihr vorher ein Wert zugewiesen werden.

Deaktiviere mal diese zwei Zeilen (# davorsetzen oder --). Dann kommt bei der Ausführung prompt eine Fehlermeldung.

Zitat set noCode to 0 + 1

So ist es. Aber wenn die Null so eingesetzt wird, ist der Wert am Schluss nicht grösser als eins. Auch wenn z.B. vier Dateien nicht umbenannt wurden.

*****
Zitat Beim Handler hörts komplett auf. Ich nehme das einfach mal so hin, dass diese Zeilen die Liste sortieren.

Im Oktober 2004 hatte Martin Fischer eine Lösung von mir so kommentiert:

Zitat Wow!
Den QuickSort-Handler hast Du aber nicht nur für die PDF-Vereinigung aus dem Ärmel gezogen ...
Da wird mir ganz schwindelig, wenn ich den versuche nachzuvollziehen.
Klasse!

Meine Antwort damals:

Zitat Die QuickSort-Routine ist nicht meine Erfindung. Dies ist übrigens die Turbo-Version. Es gibt eine
langsamere. Die schnelle hat den Vorteil, dass sie wirklich schnell ist. Aber in gewissen Fällen
habe ich damit Probleme gehabt. Das Resultat war leer. Ich muss mal versuchen, dies nachzustellen.

Bei der Turbo-Version ist zu Beginn des Handlers ein Script-Objekt definiert. Dessen Einsatz sorgt für viel mehr Geschwindigkeit.

*****
Zitat Ich danke dir schon mal und vielen Dank noch mal für deine tolle Version des Scripts! Ich war begeistert zu sehen wie es unter Realbedingung läuft. Schnell und zuverlässig.

Bitte sehr. Ich hoffe, dass es sich weiterhin bewähren wird. Doch wie immer gilt: Einsatz auf eigene Gefahr! Am besten immer vorher mindestens ein Backup der Dateien anlegen.

Gruss, Hans


als Antwort auf: [#563142]

Dateien umbenennen mit Hilfe einer Excel-Tabelle

tony_danza
Beiträge gesamt: 29

27. Mär 2018, 11:42
Beitrag # 34 von 37
Beitrag ID: #563148
Bewertung:
(3285 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Hans,

dank deiner Erklärungen wird mir nun so einiges klar.

Zitat Die Bedeutung von n kann ein Kürzel für number sein. Bei i wäre es iteration (= lat. "iterare" = "wiederholen").


Mir war nicht bewusst, dass ich irgendeine Zählervariable verwenden kann, ich dachte die Buchstaben hätten eine Bedeutung, abhängig vom Inhalt.

----
Jetzt machts auch klick bei 'repeat with n from 2'. An die Informationen in der ersten Zeile hatte ich nicht gedacht.


Ich hoffe ich kann daraus lernen und meine zukünftigen Scripts einfacher bzw. schlauer gestalten.

Auf jeden Fall ist AppleScript ein Helferlein den man nicht außer acht lassen sollte. AS kann in jedem Bereich zum Einsatz kommen und ich freue mich auf weitere Automatismen um meine Prozesse zu optimieren.

Vielen Dank für deine schnelle und kompetente Unterstützung.

gruß
tony


als Antwort auf: [#563144]

Dateien umbenennen mit Hilfe einer Excel-Tabelle

Hans Haesler
  
Beiträge gesamt: 5606

27. Mär 2018, 13:22
Beitrag # 35 von 37
Beitrag ID: #563153
Bewertung:
(3277 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Tony,

bitte sehr.

Nun, für eine "normale" repeat-Schleife braucht es drei Dinge:
– Zählervariable;
– Startwert;
– Stopwert.

Code
repeat with n from 1 to 3 
display dialog n
end repeat

Der Dialog zeigt den Wert von 'n' an.

Eine Schleife kann man auch rückwärts laufen lassen. Das ist notwendig, wenn ein Inhalt verändert wird.

Code
repeat with n from 3 to 1 by -1 
display dialog n
end repeat

Der Zusatz 'by -1' ist zwingend.

Falls Du Dich näher mit AppleScript befassen willst, dann empfiehlt sich ein gezieltes Studium.
Mit einem Buch. Oder einem Kursus.

Für beide findest Du genug Stoff bei Peter Fischer (alias Snow): http://www.fischer-bayern.de/phpBB2/index.php

Rechts oben sind acht Links. Der vierte ist "AppleScript-Bücher".
Rechts Mitte: Ein Link für das ebook "AppleScript für absolute Starter"
Rechts unten findest Du den Workshop (Themen "Dialoge", "Variablen" usw).

Happy learning! :-)

Gruss, Hans


als Antwort auf: [#563148]

Dateien umbenennen mit Hilfe einer Excel-Tabelle

tony_danza
Beiträge gesamt: 29

27. Mär 2018, 15:17
Beitrag # 36 von 37
Beitrag ID: #563157
Bewertung:
(3265 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Hans,

dass eine repeat-Schleife rückwärts laufen kann ist mir neu. Aber vielen Dank für den Tipp! Früher oder später werde ich bestimmt mal darauf zurückgreifen müssen.

Auf der Seite die du verlinkt hast war ich auch schon einige male und das hat mir sehr geholfen.

Bücher zu AppleScript habe ich mir noch nicht gekauft, das wäre aber nicht verkehrt. Bisher habe ich versucht aus Forenbeiträgen zu lernen und aus dem eBook.

Da ich aber nicht aufhören möchte AppleScript zu lernen, sind deine Tipps zu den Büchern bestimmt nicht verkehrt.

Danke dir und viele Grüße
tony


als Antwort auf: [#563153]

Dateien umbenennen mit Hilfe einer Excel-Tabelle

Hans Haesler
  
Beiträge gesamt: 5606

27. Mär 2018, 16:18
Beitrag # 37 von 37
Beitrag ID: #563161
Bewertung:
(3256 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Tony,

bitte sehr.

Der Zusatz by kann auch in einer vorwärtslaufenden Schleife eingesetzt werden.

Nur ungerade Werte anzeigen:

Code
repeat with n from 1 to 5 by 2 
display dialog n
end repeat

Nur Objekte mit geraden Werten behandeln:

Code
repeat with n from 2 to 6 by 2 
display dialog n
end repeat

Es gibt noch andere Arten von Schleifen (z.B. with x in aList oder eine Konstruktion mit while). Doch diese wirst Du selber finden.

Gruss, Hans


als Antwort auf: [#563157]
X

Veranstaltungen

Hier können Sie Ihre Anlässe eintragen, welche einen Zusammenhang mit den Angeboten von HilfDirSelbst.ch haben. Die Einträge werden moderiert freigeschaltet. Dies wird werktags üblicherweise innert 24 Stunden erfolgen. pdf-icon Hier eine kleine Anleitung.

Veranstaltungen
26.09.2018

Hochschuloe der Medien, Stuttgart
Mittwoch, 26. Sept. 2018, 19.00 - 21.00 Uhr

Vertrag

Nur auf den ersten Blick scheint dieses Thema exotisch. Aber eine neue EU-Richtlinie und deren Auswirkungen auf deutsche Gesetze werden dieses Thema auch für Publisher interessant machen. Die EU-Richtlinie "2102 zu Barrierefreiheit" besagt folgendes: Ab dem 23. September 2018 müssen alle öffentlichen Stellen ihre neuen (Office- oder PDF-) Dokumente grundsätzlich barrierefrei veröffentlichen. Im Juni wurde der Gesetzentwurf zur Umsetzung dieser Richtlinie im deutschen Bundestag vom "Ausschuss für Arbeit und Soziales" (19/2728) angenommen. Es wird also ernst für "öffentliche Stellen" und damit auch für deren Dienstleister, die mit der Umsetzung beauftragt werden. Die Richtlinie gilt nämlich nicht nur für Bundes- und Landesbehörden, sondern auch für Verbände, die im Allgemeininteresse liegende Aufgaben erfüllen. Das wären somit auch Gerichte, Polizeistellen, Krankenhäuser, Universitäten, Bibliotheken und einige mehr. Weitere Informationen findest Du hier, hier und hier. Wenn also oben genannte Auftraggeber zu Deinen Kunden zählen, solltest Du Dich vorbereiten. Und da es neben Websites auch um alle downloadbaren Dateien geht sind eben auch PDFs zukünftig barrierefrei zu erstellen. Arbeitet man in InDesign, können dort einige Vorbereitungen getroffen werden. Klaas Posselt ist der ausgewiesene Spezialist im deutschsprachigen Raum für alle Fragen rund um das Thema. Deshalb freuen wir uns, dass er uns in einem Vortrag die Grundlagen dazu vermitteln wird. Wir setzen voraus, dass Du den Umgang mit InDesign gewohnt bist, die Gründe und Vorteile von der Nutzung von Formaten kennst und weißt, wie man lange Dokumente „richtig“ aufbaut. Der Vortrag setzt bewusst DANACH ein. Inhalt des Vortrages ist der Hintergrund von „Barrierefreiheit“ und Möglichkeiten und Grenzen innerhalb von InDesign. Es wird erklärt, welche Bedeutung das kostenpflichtige PlugIn MadeToTag hat und warum und für was man es braucht. Ziel ist es den Rahmen aufzuzeigen, in dem sich das Thema „Barrierefreiheit“ in InDesign abspielt. Du weißt hinterher, wo die „Baustellen“ sind, wo Du weitergehende Infos bekommst und welchen Weg Du einschlagen musst. Am nächsten Tag veranstalten wir zwei Bootcamps, die das Thema praktisch vertiefen. "IDUGS Bootcamp #2" und "IDUGS Bootcamp #3" Klaas Posselt ist studierter Dipl.-Ing. für Druck- und Medientechnik und kam über verschiedene Anfragen zum Thema barrierefreie PDF Dokumente. Seit über 10 Jahren arbeitet er in den Bereichen Medientechnik und Publishing zwischen Medienherstellern, Druckermaschinen und digitalen Ausgabekanälen. Er schult, begleitet und unterstützt Kunden bei der Einführung und Optimierung von Publikationsprozessen und auf dem Weg zu neuen digitalen Ausgabekanälen — egal ob E-Books, barrierefreie PDFs oder Webplattformen. Als Chairman des PDF/UA Competence Center der PDF Association beteiligt er sich an der Weiterentwicklung und Verbreitung des Standards PDF/UA für barrierefreie PDF Dokumente. Diese Veranstaltung kommt nur zu Stande durch die freundliche Unterstützung von "Six Offene Systeme GmbH" -- Enterprise-Content-Management-System und Media-Asset-Management-System.

Nein

Organisator: IDUG Stuttgart

Kontaktinformation: Christoph Steffens, E-Mailchristoph.steffens AT gmail DOT com

https://idug47.eventbrite.de

Veranstaltungen
27.09.2018

Screen IT, Uster
Donnerstag, 27. Sept. 2018, 17.30 - 20.00 Uhr

Infoveranstaltung

Das Angebot an Publishing-Software ist gross. Deshalb empfiehlt sich eine externe Beratung durch unabhängige Software-Experten aus der jeweiligen Branche. Nicht immer muss es eine teure Mietlösung sein, die nach Beendigung der Mietdauer einem nicht einmal gehört. Es gibt sehr gute und auch in der Qualität ausreichende Alternativen, ja sogar kostenlose Freeware. Lassen Sie sich an diesem Abend einmal vor Augen führen, was diese Programme können und wie viel sie kosten.

Ja

Organisator: Screen IT und pre2media

Kontaktinformation: Peter Jäger, E-Mailinfo AT pre2media DOT ch

https://www.pre2media.ch/-1/de/infoanlass/