[GastForen Programmierung/Entwicklung AppleScript Ordner mit Fortlaufender Bezeichnung

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

Ordner mit Fortlaufender Bezeichnung

cybexz
Beiträge gesamt: 3

6. Okt 2018, 20:34
Beitrag # 1 von 8
Bewertung:
(19456 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo
ich bin ein neuling was Applescript angeht.ich bräuchte daher mal hilfe von euch Experten.
ich bräuchte ein script was einen neuen ordner erstellt und diesen mit einem namen z.B J_201800001 erstellt.beim nächsten erstellten Ordner soll dann die nummer fortlaufen sein J_20180002.
den Ordner erstellen und mit namen versehen schaffe ich, aber wie geht das mit der fortlaufenden nummerierung?

danke euch vielmals
gruß Marco
X

Ordner mit Fortlaufender Bezeichnung

Hans Haesler
  
Beiträge gesamt: 5826

7. Okt 2018, 01:41
Beitrag # 2 von 8
Beitrag ID: #566717
Bewertung:
(19426 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Marco,

herzlich willkommen im AppleScript-Forum! :-)

Dass Du es schaffst, einen Ordner zu erstellen und diesen mit einem Namen zu versehen, ist doch schon etwas.

Um die fortlaufenden Nummern zu bekommen, muss man eine Schleife einrichten. Dann liefert der automatische Zähler bei jedem Umgang die aktuelle Nummer. Mit dieser kann der aktuelle Name zusammengesetzt werden.

Wie das geht, werde ich Dir gerne zeigen. Aber ich werde erst Montag gegen Abend wieder zu Hause sein.

Gruss, Hans


als Antwort auf: [#566716]

Ordner mit Fortlaufender Bezeichnung

cybexz
Beiträge gesamt: 3

7. Okt 2018, 07:46
Beitrag # 3 von 8
Beitrag ID: #566718
Bewertung:
(19405 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
hi

oh das wäre klasse im moment habe ich das so:

try

tell application "Finder" to make new folder ¬
at desktop with properties {name:"Ordnername"}
on error

display dialog "Es existiert bereits ein Ordner mit diesem Namen."
end try


als Antwort auf: [#566717]

Ordner mit Fortlaufender Bezeichnung

Hans Haesler
  
Beiträge gesamt: 5826

7. Okt 2018, 08:42
Beitrag # 4 von 8
Beitrag ID: #566719
Bewertung:
(19401 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Marco,

wieviele Ordner sollen denn erzeugt werden? Auch wenn die Anzahl kleiner ist, alst die möglichen 9999, sollte ein Hauptordner gewählt werden. Dessen Wahl kann man im Script einbauen.

Und auch die Start- und End-Nummer kann abgefragt werden. Damit wird später das Erzeugen weiterer Ordner vereinfacht.

Wie gesagt, werde ich erst morgen Abend versuchen können, eine erste Version zustandezubringen.

Gruss, Hans


als Antwort auf: [#566718]

Ordner mit Fortlaufender Bezeichnung

cybexz
Beiträge gesamt: 3

7. Okt 2018, 09:41
Beitrag # 5 von 8
Beitrag ID: #566720
Bewertung:
(19389 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
hi
vielen dank für deine hilfe mach dir bitte keinen stress:-)

ich würde das gerne so haben: bei ausführung des scripts soll ein Ordner in einem nach abfrage (wo er erstellt werden soll)Verzeichniss erstellt werden. dann kommt die abfrage wie z.B der Kunde heissen soll.dann wird der ordner mit dem Kundennamen erstellt. Das schaffe ich aber jetzt möchte ich das vor dem Namen noch die z.B J_201800001 kommen soll.somit soll der Ordner dann J_201800001 Kundenname heißen.

Es muss also immer nur ein Ornder erstellt werden. nach dem nächsten aufruf des Scripts heisst dann z.B der Ordner J_201800002 KUndenname.
ich hoffe ich habe das rel. verständlich geschrieben.

danke dir
Marco


als Antwort auf: [#566719]

Ordner mit Fortlaufender Bezeichnung

Hans Haesler
  
Beiträge gesamt: 5826

7. Okt 2018, 13:41
Beitrag # 6 von 8
Beitrag ID: #566724
Bewertung:
(19375 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Marco,

huch ... dann ist es viel komplizierter als es zu Beginn den Anschein machte.
Aber das kriegen wir schon auf die Reihe.

Gruss, Hans


als Antwort auf: [#566720]

Ordner mit Fortlaufender Bezeichnung

Hans Haesler
  
Beiträge gesamt: 5826

9. Okt 2018, 22:37
Beitrag # 7 von 8
Beitrag ID: #566772
Bewertung:
(19284 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Marco,

das definitive Script habe ich Dir endlich per PM zustellen können.

[ @ alle: Wir haben uns privat ausgetauscht, weil ich zuerst die Aufgabe nicht richtig verstanden hatte ... ]

Weil kaum jemand die gleiche Aufgabe zu lösen hat, macht es keinen grossen Sinn, den Code zu posten.
Deshalb nur die folgende Outline mit einem Erklärungsversuch, wie das Hochzählen funktioniert.

*****
Nach dem ersten Starten muss ein Hauptordner gewählt werden, dann den ersten Kundennamen eingeben. Zum Beispiel "Mueller".
Das Script erzeugt im Hauptordner einen Ordner namens "J_201800001_Mueller".

Beim jedem weiteren Start erscheint nur der Dialog mit dem Text-Eingabefeld für den Kundennamen. Zum Beispiel "Mayer".
Das Script erzeugt im Hauptordner einen zweiten Ordner und benennt ihn "J_201800002_Mayer".

Die fünfstellige Ordnungszahl wird jedes Mal um Eins erhöht.

Das Script erstellt dazu ein Liste der vorhandenen Ordnernamen. Aus dem letzten zieht es die aktuelle Zahl mit:

Code
set lastNumber to text 7 thru 11 of lastName 

Der Variablen 'lastNumber' werden die Zeichen sieben bis 11 des letzen Namens zugewiesen.
Dann wird der neue Wert so errechnet:

Code
set tmpNumber to (lastNumber as integer) + 1 

Zuerst wird der alte Wert in eine Ganzzahl umgewandelt. Dabei gehen die führenden Nullen verloren.
Zum Ergebnis wird Eins addiert. Und so wird der neue Wert wieder mit den Nullen versehen:

Code
set newNumber to text -5 thru -1 of ("0000" & tmpNumber) 

An die vier Nullen wird der neue Wert gehängt. Das ergibt zunächst fünf Stellen. Später werden es sechs oder sieben oder acht (usw.) sein.
Doch es sind nur fünf Stellen vorgesehen. Durch text -5 thru -1 bekommt man genau das. Minus 5 bedeutet: Beginne ab der fünften Stelle vom Ende her gezählt.
Das Wort thru heisst bis. Und mit -1 ist das letzte Zeichen gemeint.

Anschliessend wird der neue Ordnername gebildet: An den Basisnamen "J_2018" wird die neue Nummer gehängt, gefolgt von einem Underscore und dem neuen Kundennamen.
Dieser String wird dem "Finder" übergeben mit der Bitte, einen neuen Ordner mit diesem Namen zu erzeugen.

Gruss, Hans


als Antwort auf: [#566720]

Ordner mit Fortlaufender Bezeichnung

Hans Haesler
  
Beiträge gesamt: 5826

18. Feb 2020, 14:08
Beitrag # 8 von 8
Beitrag ID: #574180
Bewertung:
(16153 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo AppleScripter,

Marco gab mir durch, dass das Script immer noch perfekt läuft. Das freute mich natürlich.

Jetzt möchte er, dass in jedem neu erzeugten Ordner der Unterordner "Rohdaten" angelegt wird.
Das ist recht einfach zu lösen: Dem Finder-Befehl 'make new folder' ein 'as string' anhängen und zugleich einer Variablen zuweisen.
Dann kann ein Unterordner in diesem neuen Ordner erzeugt werden:

Code
tell application "Finder" 
set newFolder to (make new folder at folder mainFolder with properties {name:newName}) as string
make new folder at folder newFolder with properties {name:"Rohdaten"}
end tell

Um eventuell einen zweiten Ordner an gleicher Stelle erzeugen zu lassen:
Ganz einfach die zweite Zeile duplizieren und den Namen "Rohdaten" durch den weiteren Namen ersetzen.

Gruss, Hans


als Antwort auf: [#566720]
X