[GastForen Programmierung/Entwicklung AppleScript Ordnerstruktur aus Excel-Tabelle anlegen ?

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

Ordnerstruktur aus Excel-Tabelle anlegen ?

Farbenhuhn
Beiträge gesamt: 173

8. Nov 2010, 20:17
Beitrag # 1 von 15
Bewertung:
(16894 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo,

nach dem ich gelernt habe, was mit Apple-Script alles möglich ist starte ich eine neue Frage in diesem Board. Für mein Buchprojekt möchte ich nun für die vielen eingehenden Daten jeweils einen Ordner anlegen, in dem ich die Bilder, Texte usw. ablege.

Die Ordnernamen ergeben sich aus der mir vorgegebenen Codierung. Die Liste dieser Codierungen liegt bereits als Excel-Tabelle vor. Ich könnte mir vorstellen, dass aus dieser Excel-Tabelle automatisch die gewünschte Ordnerstruktur erzeugt werden könnte. Das wäre sicherlich deutlich einfacher und weniger fehleranfällig, als das manuell zu definieren.

Meine Versuche mit der Bridge und auch ein Blick auf a better finder rename brachten keinen Erfolg. Evtl. kann es ja Apple-Script. Eine Excel-Tabelle und eine csv-Datei zum Testen habe ich hier upgeloadet: http://ul.to/93qcgx

Liebe Grüße
Das Farbenhuhn
X

Ordnerstruktur aus Excel-Tabelle anlegen ?

-hans-
Beiträge gesamt: 746

8. Nov 2010, 21:08
Beitrag # 2 von 15
Beitrag ID: #456305
Bewertung:
(16878 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hi,

die CSV-Datei kann AS direkt einlesen ...


Schaugst :)

Code
set foldernames to (paragraphs 2 thru -1 of (read (choose file))) --read csv-file 
set folderstructurepath to choose folder with prompt "Wo sollen die Ordner erstellt werden?"
tell application "Finder"
repeat with i from 1 to count foldernames
try
make new folder at folderstructurepath with properties {name:item i of foldernames}
end try
end repeat
end tell

Lieben Gruß

Hans-Gerd Claßen


als Antwort auf: [#456304]
(Dieser Beitrag wurde von -hans- am 8. Nov 2010, 21:11 geändert)

Ordnerstruktur aus Excel-Tabelle anlegen ?

Farbenhuhn
Beiträge gesamt: 173

9. Nov 2010, 17:18
Beitrag # 3 von 15
Beitrag ID: #456407
Bewertung:
(16832 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Auch hi,

schon habe ich geschaut :-)

Funktioniert wunderprächtig und in einer wahnsinnigen Geschwindigkeit. 100 Punkte von mir. Vielen Dank dafür. Aber genau so stolz bin ich auf mich selbst, dass ich das überhaupt umsetzen konnte. Ich habe es einfach als app gespeichert und gestartet wie die anderen Scripte auch. Der Rest geht dann ja von alleine. Wirklich mal wieder ganz tolle Arbeit. Wenn jetzt Sommer wäre, würde ich Dich auf ein virtuelles Eis einladen.

Liebe Grüße
Das Farbenhuhn


als Antwort auf: [#456305]

Ordnerstruktur aus Excel-Tabelle anlegen ?

-hans-
Beiträge gesamt: 746

10. Nov 2010, 10:07
Beitrag # 4 von 15
Beitrag ID: #456456
Bewertung:
(16795 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hi,

nicht übertreiben ;-)
... außerdem: Hustensaft und Wärmflasche kämen gerade besser :(
Lieben Gruß

Hans-Gerd Claßen


als Antwort auf: [#456407]

Ordnerstruktur aus Excel-Tabelle anlegen ?

Hans Haesler
  
Beiträge gesamt: 5797

10. Nov 2010, 14:48
Beitrag # 5 von 15
Beitrag ID: #456502
Bewertung:
(16772 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Farbenhuhn,

hier eine Variante ohne Dialoge. :-)

Den Code als Programm speichern. Das ergibt ein Droplet (im Icon ist ein Pfeil zu erkennen), welches ins Dock gezogen werden kann.

Die csv-Datei in den Ordner legen, in welchem die Ordner erzeugt werden sollen. Und dann dieselbe Datei auf das Droplet ziehen.

Code
on open oneObject 
set csvFile to item 1 of oneObject as Unicode text
tell application "Finder" to set folPath to container of file csvFile
set folNames to (paragraphs 2 thru -1 of (read file csvFile))
repeat with i from 1 to count folNames
tell application "Finder"
try
make new folder at folPath with properties {name:item i of folNames}
end try
end tell
end repeat
end open

Es kann auch eine normale Textdatei verwendet werden. In diesem Fall muss im Script in der Zeile ...

Code
set folNames to (paragraphs 2 thru -1 of (read file csvFile)) 

... die 2 durch eine 1 ersetzt werden. Oder in der Textdatei mit einer Dummy-Zeile beginnen.

Gruss, Hans


als Antwort auf: [#456456]

Ordnerstruktur aus Excel-Tabelle anlegen ?

iowa77
Beiträge gesamt: 15

18. Dez 2010, 21:12
Beitrag # 6 von 15
Beitrag ID: #460024
Bewertung:
(16391 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo,

könnte man das Script auch so abändern, dass statt Ordner Bilddaten erzeugt werden? Ich tüftele da an einer automatischen Katalogproduktion mit Hilfe der Datenzusammenführung in InDesign. Meine Idee ist, auf Basis einer angelieferten Excel-Datei das Grundlayout des Katalogs zu erzeugen. Als Bilder möchte ich Platzhalter verwenden, die später durch die Feindaten ersetzt werden. Das kann ich in InDesign leicht über die Aktualisierung der Verknüpfungen realisieren. Doch dazu müssen die Platzhalterbilder einen eindeutigen Dateinamen haben weshalb sich die Artikelnummern aus der Exceltabelle anbieten.

Wenn ich also aus der Exceltabelle eine CSV-Datei erzeugen würde, die ein Applescript zur Erstellung von Bilddaten nutzen könnte, wäre das eine enorme Hilfe. Das kann jeweils eine beliebige Bilddatei sein, z.B. 10x10cm in 72 dpi im Dateiformat JPEG. Kann Applescript neue Daten erzeugen? Wenn nicht, könnte man evtl. eine Musterbilddatei irgendwo ablegen, die das Applescript kopiert und jeweils umbenennt. Die einzelnen Bilder sollten dann alle in einem Ordner liegen und die Bezeichnungen aus der CSV-Datei haben.


als Antwort auf: [#456502]

Ordnerstruktur aus Excel-Tabelle anlegen ?

-hans-
Beiträge gesamt: 746

18. Dez 2010, 22:07
Beitrag # 7 von 15
Beitrag ID: #460025
Bewertung:
(16376 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hi,

das sollte eigentlich kein Problem sein ... eine vorhandene Bild-Dummy-Datei zu benutzen wuerde sich tatsaechlich anbieten ... Wie wäre die CSV-Datei denn aufgebaut?

Und bitte lass' mich dann nicht dumm sterben und verrate mir das geplante Vorgehen mittels Datenzusammenführung ;-) soweit ich die Funktion in ID kenne funktionieren nur recht starre Layouts ...

Gruß

Hans
Lieben Gruß

Hans-Gerd Claßen


als Antwort auf: [#460024]

Ordnerstruktur aus Excel-Tabelle anlegen ?

iowa77
Beiträge gesamt: 15

18. Dez 2010, 22:25
Beitrag # 8 von 15
Beitrag ID: #460026
Bewertung:
(16368 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo,

das einfachste Beispiel wäre wahrscheinlich wie im Eröffnungsbeitrag hier. Ich müsste ja nur in der Exceltabelle die Spalte mit den Artikelnummern extrahieren. Als erste Zeile könnte man die Spaltenüberschrift stehen lassen oder nicht, das wäre mir egal.

Die Datenzusammenführung in InDesign ist natürlich kein Ersatz für ein professionelles Database-Publishing-Tool. Bekannte Probleme sind z.B. dass immer nur ein Datensatz pro Seite erstellt wird und das keine Doppelseiten möglich sind. Das Problem habe ich aber bei meinem Projekt nicht, da ich so etwas ähnliches wie eine Loseblattsammlung für ein Makler-Exposé erstellen soll, d.h. pro Seite wird immer nur Objekt dargestellt. Die Bilder werden in unregelmässigen Abständen aktualisiert je nach Terminplan, daher die Platzhalter. Wenn ich die Platzhalterbilder mit den Texten erstmal im Layout in der richtigen Reihenfolge hätte, wäre ein Update der Bilder später kein Problem.


als Antwort auf: [#460025]

Ordnerstruktur aus Excel-Tabelle anlegen ?

-hans-
Beiträge gesamt: 746

19. Dez 2010, 10:56
Beitrag # 9 von 15
Beitrag ID: #460038
Bewertung:
(16336 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo iowa77,

CSV, Bilddummy und Zieldatei per Dialog auswählen ...

hier das Script:
Code
--Frage-Marathon ;-) 
set PicNames to (paragraphs 2 thru -1 of (read (choose file with prompt "Bitte die CSV-Datei wählen" without invisibles)))
set DummyFile to choose file with prompt "Bitte die Dummybild-Datei auswählen" without invisibles
set PicPath to choose folder with prompt "Wo sollen die Bider abgelegt werden?" without invisibles

tell application "Finder"
set theSuffix to name extension of DummyFile
end tell


repeat with i from 1 to count PicNames
try
--Pfad zur Zieldatei
set TheTargetPath to quoted form of POSIX path of ((PicPath as text) & item i of PicNames & "." & theSuffix)
--Kopieren über die Shell ...
do shell script "cp -f " & quoted form of POSIX path of DummyFile & space & TheTargetPath
on error the error_message number the error_number
display dialog "Error: " & the error_number & ". " & the error_message
end try
end repeat


Hab's noch nicht nachgeschaut, aber ich meine mich zu erinnern, dass mehrere Datensätze auf einer Seite auch möglich sind ... nur falls das für Deinen Auftrag noch von Nutzen sein könnte ...

Viel Erfolg :)

Schönen Sonntag,

Hans
Lieben Gruß

Hans-Gerd Claßen


als Antwort auf: [#460026]
(Dieser Beitrag wurde von -hans- am 19. Dez 2010, 11:05 geändert)

Ordnerstruktur aus Excel-Tabelle anlegen ?

iowa77
Beiträge gesamt: 15

19. Dez 2010, 12:49
Beitrag # 10 von 15
Beitrag ID: #460042
Bewertung:
(16314 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo,

auch das Script funktioniert ganz hervorragend wofür ich mich ebenfalls bedanken möchte.

So viel ich weiß, kann man mit der Datenzusammenführung nur mehrere Nutzen eines Datensatzes auf einer Seite platzieren, aber nicht unterschiedliche. Die Demos zeigen immer nur mehrere gleiche Nutzen einer Visitenkarte auf einer Seite, aber nie mehrere unterschiedliche.


als Antwort auf: [#460038]

Ordnerstruktur aus Excel-Tabelle anlegen ?

-hans-
Beiträge gesamt: 746

19. Dez 2010, 13:29
Beitrag # 11 von 15
Beitrag ID: #460043
Bewertung:
(16308 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hi,

ich hab' mal kurz in die Online-Hilfe geschaut ... Also in der Hilfe http://help.adobe.com/...01ea8cb3f-6c3ca.html steht: "... Wählen Sie die Option „Mehrere Datensätze“, um mehr als einen Datensatz pro Seite einzufügen"

... aber wenn ich es richtig verstehe, dann soll ja eh' immer nur ein Datensatz auf eine Seite :)

Gruß
Hans
Lieben Gruß

Hans-Gerd Claßen


als Antwort auf: [#460042]

Ordnerstruktur aus Excel-Tabelle anlegen ?

unimatrix0001
Beiträge gesamt: 8

15. Jan 2015, 11:35
Beitrag # 12 von 15
Beitrag ID: #535933
Bewertung:
(10721 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo zusammen,

kann man das Script auch so abändern, das in den Ordnern Unterordner erzeugt werden?

Ich habe in Bridge meinen Bildern hi­e­r­ar­chisch Stichworte vergeben.

Die Stichworte kann man nun in eine txt-datei exportieren und aus dieser möchte ich eine Ordnerstruktur erstellen, um dann die Bilder einzusortieren.

Schöner wär natürlich ein direkter automatischer Export - mittels auslesen der Stichworte - der Bilder aus Bridge ohne manuelles Einordnen. Aber das kann Bridge leider nicht leisten.

Liebe Grüße

Bildschirmfoto von Bridge und die Textdatei. https://www.dropbox.com/s/d9v2pddc5ydxkby/Archiv.zip?dl=0


als Antwort auf: [#456502]

Ordnerstruktur aus Excel-Tabelle anlegen ?

Hans Haesler
  
Beiträge gesamt: 5797

15. Jan 2015, 13:09
Beitrag # 13 von 15
Beitrag ID: #535948
Bewertung:
(10700 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo unimatrix0001,

ein Script kann auch Unterordner anlegen.

Aber ich bin gerade unterwegs und werde erst gegen Abend prüfen können, ob die Angaben in Deinen Dateien dafür ausreichen.

Gruss, Hans


als Antwort auf: [#535933]

Ordnerstruktur aus Excel-Tabelle anlegen ?

Hans Haesler
  
Beiträge gesamt: 5797

15. Jan 2015, 22:22
Beitrag # 14 von 15
Beitrag ID: #535988
Bewertung:
(10650 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo unimatrix0001,

das folgende Script legt die Ordnerstruktur an. Dort wo sich die Textdatei befindet.

Zum Gebrauch:
– das Script starten;
– im Dialog die Textdatei auswählen;
– abwarten bis der Dialog "Fertig." erscheint.

Code
-- die Textdatei wählen ... 
set txtFile to (choose file) as Unicode text
-- ... und den Zielordner bestimmen
tell application "Finder" to set folPath to container of file txtFile
-- die Textdatei einlesen
set folNames to (paragraphs 1 thru -1 of (read file txtFile as «class utf8»))
-- eine Schleife durch die Ordnernamen
repeat with n from 1 to count folNames
set curName to item n of folNames
set nChars to count of curName
if nChars is greater than 0 then
repeat with c from 1 to nChars
if character c of curName is not tab then
exit repeat
end if
end repeat
set defName to text c thru -1 of curName
tell application "Finder"
try
if c is 1 then
set mainFolder to make new folder at folPath with properties {name:defName}
else if c is 2 then
set targetFolder1 to make new folder at mainFolder with properties {name:defName}
else if c is 3 then
set targetFolder2 to make new folder at targetFolder1 with properties {name:defName}
else if c is 4 then
set targetFolder3 to make new folder at targetFolder2 with properties {name:defName}
end if
end try
end tell
end if
end repeat
-- das Ende der Aktion verkünden
display dialog "Fertig." buttons "OK" default button 1 with icon 1 giving up after 2

Aber wie Du die Bilder unterbringst, weiss ich nicht.

Gruss, Hans


als Antwort auf: [#535933]

Ordnerstruktur aus Excel-Tabelle anlegen ?

unimatrix0001
Beiträge gesamt: 8

16. Jan 2015, 10:07
Beitrag # 15 von 15
Beitrag ID: #536007
Bewertung:
(10617 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Hans,

PERFEKT!

Vielen lieben Dank dafür.


Viele Grüße Matthias


als Antwort auf: [#535988]
X

Aktuell

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
25.01.2021 - 26.01.2021

Digicomp Academy AG, Bern oder Zürich
Montag, 25. Jan. 2021, 08.30 Uhr - Dienstag, 26. Jan. 2021, 17.00 Uhr

Kurs

In diesem Basic-Kurs lernen Sie das Wichtigste über den Aufbau und die Funktionsweise von Photoshop. Zusammen mit den notwendigen Grundlagen von Farbenlehre bis Bildauflösung lernen Sie zudem die kreativen Möglichkeiten von Photoshop kennen.

Dauer: 2 Tage
Preis: CHF 1'400.–

Ja

Organisator: Digicomp Academy AG

Kontaktinformation: Kundenberater-Team, E-Mailkundenberatung AT digicomp DOT ch

digicomp.ch/d/PHOTM1

Veranstaltungen
25.01.2021 - 26.01.2021

Digicomp Academy AG, Zürich oder virtuell
Montag, 25. Jan. 2021, 08.30 Uhr - Dienstag, 26. Jan. 2021, 17.00 Uhr

Kurs

Im Kurs lernen Sie die Schritte vom Import des Rohmaterials bis zum fertig exportierten Clip kennen. Dazu zählen die Materialverwaltung, das Trimmen für Roh- und Feinschnitt, Blenden, Titel und Effekte und eine Übersicht über die wichtigsten Formate.

Preis: CHF 1'700.-
Dauer: 2 Tage

Ja

Organisator: Digicomp Academy AG

Kontaktinformation: Kundenberater-Team, E-Mailkundenberatung AT digicomp DOT ch

digicomp.ch/d/AP6

Neuste Foreneinträge


Exel ohne leeres Tabellenblatt starten

Text- oder Grafikrahmen nach Position und Größe suchen und ändern

[GREP] beliebige Zeichen finden und durch selbe Anzahl an Leerzeichen oder Anzahl Zeichen "x" ersetzen

InDesign 2021 – Suchen/Ersetzen: Farbe

Langsamer MacMini

Netzwerklaufwerke verbinden -> Bei nicht verfügbar Fehlermeldung unterdrücken

Balken hinter einen Bildteil

Geteiltes Album

Verschiedene Netzwerke Handeln

Nicht "Silben über Spalten hinweg trennen" (CC 2018/ CC 2021)
medienjobs