Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
bambid •-->


Anmeldedatum: 05.01.2005 Beiträge: 67 Wohnort: Stein AG
|
Verfasst am: 04.01.2006 - 09:40 Titel: Falls Ordner vorhanden in diesen schreiben! |
|
|
Hallo ich habe hier ein kleines Skript geschrieben mit welchem ich die Einzelnen Ordner neu generieren und benennen kann und so eine kleine vereinfachung für das Dateisystem machen kann. jetzt ist das problem wenn der ordner "Firma" schon besteht mache er mir natürlich keinen neuen Ordner und bricht ab! wie kann ich also dem Skript sagen, dass wenn der Ordner mit diesem Namen schon besteht er den nächsten Unterordner "Auftrag" einfach in diesen machen soll?
Hier mal mein Skript:
Code: | set firm to display dialog "Bitte Firmennamen eingeben." default answer "Z_"
set Firma to (text returned of firm)
set auft to display dialog "Bitte Auftragsname bitte Vollständig eingeben. z.B. Z0001_BSP_B5_Karten" default answer "Z"
set Auftrag to text returned of auft
tell application "Finder"
activate
make new Finder window to disk "SEZH2"
set target of Finder window 1 to folder "Z_SEI_Aufträge_2" of disk "SEZH2"
make new folder at folder "Z_SEI_Aufträge_2" of disk "SEZH2" with properties {name:Firma}
set target of Finder window 1 to folder Firma of folder "Z_SEI_Aufträge_2" of disk "SEZH2"
make new folder at folder Firma of folder "Z_SEI_Aufträge_2" of disk "SEZH2" with properties {name:Auftrag}
set target of Finder window 1 to folder Auftrag of folder Firma of folder "Z_SEI_Aufträge_2" of disk "SEZH2"
make new folder at folder Auftrag of folder Firma of folder "Z_SEI_Aufträge_2" of disk "SEZH2" with properties {name:"1_Kundendaten"}
make new folder at folder Auftrag of folder Firma of folder "Z_SEI_Aufträge_2" of disk "SEZH2" with properties {name:"2_Entwürfe"}
make new folder at folder Auftrag of folder Firma of folder "Z_SEI_Aufträge_2" of disk "SEZH2" with properties {name:"3_Erstellungsdaten"}
make new folder at folder Auftrag of folder Firma of folder "Z_SEI_Aufträge_2" of disk "SEZH2" with properties {name:"4_Druckdaten"}
make new folder at folder Auftrag of folder Firma of folder "Z_SEI_Aufträge_2" of disk "SEZH2" with properties {name:"5_Kommunikation"}
end tell
|
Ich danke schon im Voraus für die Hilfe.
MfG bambid |
|
Nach oben |
|
 |
bambid •-->


Anmeldedatum: 05.01.2005 Beiträge: 67 Wohnort: Stein AG
|
Verfasst am: 04.01.2006 - 13:59 Titel: |
|
|
Sorry es ist mir aufgefallen das ich dies in das falsche Forum geschrieben habe! es ist OSX |
|
Nach oben |
|
 |
RainerT •-->


Anmeldedatum: 27.12.2002 Beiträge: 25
|
Verfasst am: 04.01.2006 - 14:44 Titel: |
|
|
Hallo Bambid,
Ich habe mir mal dein "Problemscript" angesehen.
Wenn du es für brauchbar hältst kannst du dich gerne noch mal melden.
Sollte dir noch ein Fehler auffallen kannst du dich gerne melden.
--In der property Startfolder wird der Namen zu Deinem "HauptOrder" gespeichert.
property StartFolder : ""
tell application "Finder"
activate
--Diese If-Abfrage füllt Dir die obenstehende property Startfolder mit deinem "Arbeitsordnerpfad"
if StartFolder as string = "" as string then
set StartFolder to choose folder with prompt "Wo sollen die Ordner erstellt werden?"
set StartFolder to result as string
end if
--Die folgende Zeile zeigt dir (wenn Vorhanden) die bereits existierenden Kundenordnernamen.
--Aus dieser Liste "VorhandeneKunden" kannst du dann einen bestehenden Kundenordner auswählen.
set VorhandeneKunden to list folder StartFolder without invisibles
if VorhandeneKunden ? {} then
--Sortierung der bestehende KundenOrdner
tell me to SortListe(VorhandeneKunden)
set VorhandeneKunden to result
set Kunde to choose from list VorhandeneKunden OK button name "Kunde wählen" cancel button name "Neuer Kunde"
if result = false then
tell me to OrdnerErstellen(StartFolder, 1)
set Kunde to result as string
end if
set Kunde to Kunde as string
else
--Wenn Dein Hauptordner noch keine Kunden-Ordner enthält wirst du aufgefordert den Namen eines Kunden einzugeben.
tell me to OrdnerErstellen(StartFolder, 1)
set Kunde to result as string
end if
set Kunde to folder Kunde of folder StartFolder as string
-- Mit dem folgenden Block wird dein Auftragsordner im Kundenordner erstellt
set auft to display dialog "Auftragsname bitte vollständig eingeben. z.B. Z0001_BSP_B5_Karten" default answer "Z"
set Auftrag to text returned of auft
tell me to OrdnerErstellen(Kunde, Auftrag)
set AuftragsOrdner to result as string
set AuftragsOrdner to folder Auftrag of folder Kunde as string
-- Im Folgenden Block werden Deine "Arbeitsordner" im Auftragsordner im Kundenordner erstellt.
repeat with NeueNamen in {"1_Kundendaten", "2_Entwuerfe", "3_Erstellungsdaten", "4_Druckdaten", "5_Kommunikation"}
tell me to OrdnerErstellen(AuftragsOrdner, NeueNamen)
end repeat
end tell
--Der folgende Händler erstellt bei Bedarf Ordner
on OrdnerErstellen(SF, Z)
tell application "Finder"
if Z = 1 then
set firm to display dialog "Bitte Kundenamen eingeben." default answer "Z_"
set Z to (text returned of firm) as string
end if
if not (exists folder Z of folder SF) then
make new folder at folder SF with properties {name:Z}
end if
return Z
end tell
end OrdnerErstellen
--Der folgende Händler sortiert bei Bedarf die bereits existierenden Kundenordner
on SortListe(Eingang1)
tell application "Finder"
set aLen to Eingang1's length
set ListeNEU to [Eingang1's item 1]
set rLen to 1
repeat with n from 2 to aLen
set P to Eingang1's item n
if P >= ListeNEU's item -1 then
set ListeNEU to ListeNEU & P
else
set rLo to 1
set rHi to rLen
repeat
set M to (rLo + rHi) div 2
set x to ListeNEU's item M
if P >= x then
if rHi ? M then
set rLo to M + 1
else
if M + 1 = rLen then
set ListeNEU to ListeNEU's items 1 thru -2 & P & x
else
set ListeNEU to ListeNEU's items 1 thru M & P & ListeNEU's items (M + 1) thru -1
end if
exit repeat
end if
else
if M ? rLo then
set rHi to M
else
if M = 1 then
set ListeNEU to [P] & ListeNEU
else
set ListeNEU to ListeNEU's items 1 thru (M - 1) & P & ListeNEU's items M thru -1
end if
exit repeat
end if
end if
end repeat
end if
set rLen to rLen + 1
end repeat
return ListeNEU
end tell
end SortListe
_________________ Rainer
------------------
Happy Scripting
------------------
iMac 24", 2,8 GHz Dual Core, 4 GB RAM, 10.7.4
Mac Pro G5, 2 GHz Dual, 2 GB RAM 10.5.4
PowerMac G4, 1,25 GHz Dual
System 9.2.2, 10.4.11 |
|
Nach oben |
|
 |
bambid •-->


Anmeldedatum: 05.01.2005 Beiträge: 67 Wohnort: Stein AG
|
Verfasst am: 05.01.2006 - 10:44 Titel: |
|
|
und dieser skript funktioniert bei dir? bei mir gibt es eine fehler meldung!
(Es wurde „„then“, etc.“ erwartet, aber ein „unknown token“ wurde gefunden.) und dies bei dieser Zeile:
if VorhandeneKunden ? {} then
und das Fragezeichen ist ausgewählt!
und geht das nicht irgendwie einfacher? so mit meinem script als erweiterung?
danke trotzdem für deine mühe!
und bitte den beitrag noch verschieben nach OS X! |
|
Nach oben |
|
 |
RainerT •-->


Anmeldedatum: 27.12.2002 Beiträge: 25
|
Verfasst am: 05.01.2006 - 10:49 Titel: |
|
|
Hallo Bambid,
Sorry da hab ich was übersehen.
Durch die Konvertierung fuers Forum wurde aus dem Zeichen = ein ? Fragezeichen.
Ersetze bitte alle ? Fragezeichen durch das = Gleichheitszeichen. _________________ Rainer
------------------
Happy Scripting
------------------
iMac 24", 2,8 GHz Dual Core, 4 GB RAM, 10.7.4
Mac Pro G5, 2 GHz Dual, 2 GB RAM 10.5.4
PowerMac G4, 1,25 GHz Dual
System 9.2.2, 10.4.11 |
|
Nach oben |
|
 |
spirigwi •----->


Anmeldedatum: 10.07.2003 Beiträge: 1517 Wohnort: Olten-CH
|
Verfasst am: 05.01.2006 - 13:42 Titel: |
|
|
RainerT hat Folgendes geschrieben: | = Gleichheitszeichen. |
ev hilft diese Aufstellung:
MIT CodeFormatter hat Folgendes geschrieben: |
get 3 ? 4 -- "ungleichzeichen"
get 3 is not 4 -- richtig für ungleichzeichen
get 3 = 3 --Gleichheitszeichen |
_________________ Skript-Fan => ein � -Fan =>Scr¿¿-KongFuSius_Kurpfusius
Zuletzt bearbeitet von spirigwi am 16.01.2006 - 20:29, insgesamt einmal bearbeitet |
|
Nach oben |
|
 |
bambid •-->


Anmeldedatum: 05.01.2005 Beiträge: 67 Wohnort: Stein AG
|
Verfasst am: 12.01.2006 - 13:30 Titel: |
|
|
Ich habe das mal so getestet aber leider bringt er mir eine Fehlermeldung im Script und zwar:
„Finder“ hat einen Fehler erhalten: Einige Daten können nicht in den erwarteten Typ umgewandelt werden.
und der kommt bei:
if not (exists folder Z of folder SF) then
make new folder at folder SF with properties {name:Z}
Vieleicht kanst du etwas damit anfangen!
aber ich nicht!
mfg bambiD |
|
Nach oben |
|
 |
iScript •---->


Anmeldedatum: 29.03.2001 Beiträge: 1116
|
Verfasst am: 13.01.2006 - 09:31 Titel: |
|
|
hallo bambid
vielleicht so. klappt bei mir jedenfalls (hab mir ein image mit dem Namen SEH2 erstellt und getestet):
Code: | set Firma to text returned of (display dialog "Bitte Firmennamen eingeben." default answer "Z_")
set Auftrag to text returned of (display dialog "Bitte Auftragsname vollständig eingeben. z.B. Z0001_BSP_B5_Karten" default answer "Z")
tell application "Finder"
activate
set TheDisk to disk "SEH2" --
set KundenOrdner to ((folder "Z_SEI_Aufträge_2" of TheDisk) as text)
display dialog KundenOrdner as text
make new Finder window to TheDisk
set target of Finder window 1 to KundenOrdner
my CreateOrUseFolder(Firma, Auftrag, KundenOrdner)
end tell
on CreateOrUseFolder(Firma, Auftrag, KundenOrdner)
tell application "Finder"
if (folder Firma of folder KundenOrdner exists) is false then
make new folder at KundenOrdner with properties {name:Firma}
end if
set target of Finder window 1 to folder Firma of folder KundenOrdner
if (folder Auftrag of folder Firma of folder KundenOrdner exists) is false then
beep
make new folder at folder Firma of folder KundenOrdner with properties {name:Auftrag}
set AuftrOrdner to folder Auftrag of folder Firma of folder KundenOrdner as text
make new folder at folder AuftrOrdner with properties {name:"1_Kundendaten"}
make new folder at folder AuftrOrdner with properties {name:"2_Entwürfe"}
make new folder at folder AuftrOrdner with properties {name:"3_Erstellungsdaten"}
make new folder at folder AuftrOrdner with properties {name:"4_Druckdaten"}
make new folder at folder AuftrOrdner with properties {name:"5_Kommunikation"}
end if
set AuftrOrdner to folder Auftrag of folder Firma of folder KundenOrdner as text
set target of Finder window 1 to folder AuftrOrdner
end tell
end CreateOrUseFolder |
_________________ - anholn deit kriegen - |
|
Nach oben |
|
 |
bambid •-->


Anmeldedatum: 05.01.2005 Beiträge: 67 Wohnort: Stein AG
|
Verfasst am: 13.01.2006 - 11:12 Titel: |
|
|
Das ist super!
ich habe es noch einwehnig ausgebaut und jetzt habe ich noch eine Frage die Sicherlich Snow mir beantworden kann.
also kann ich diesen Script auch im OS9 verwenden das ich den auch zuhause benutzen kann?
so kann ich auch wenn das mit dem VPN klappt alles anwenden wie ich das will!
ich frage nur da es ab und zu noch probleme mit den osx scripten auf dem os9 gibt.
Code: | set Firma to text returned of (display dialog "Bitte Firmennamen eingeben." default answer "Z_")
set Auftrag to text returned of (display dialog "Bitte Auftragsname vollständig eingeben. z.B. Z0001_BSP_B5_Karten" default answer "Z")
tell application "Finder"
activate
set TheDisk to disk "SEZH2" --
set KundenOrdner to ((folder "Z_SEI_Aufträge_2" of TheDisk) as text)
make new Finder window to TheDisk
set target of Finder window 1 to KundenOrdner
my CreateOrUseFolder(Firma, Auftrag, KundenOrdner)
end tell
on CreateOrUseFolder(Firma, Auftrag, KundenOrdner)
tell application "Finder"
if (folder Firma of folder KundenOrdner exists) is true then
display dialog "Dieser Kunde ( " & Firma & ¬
" ) existiert schon, es wird ein neuer Auftragsordner erstellt ( " & Auftrag & ") "
end if
if (folder Firma of folder KundenOrdner exists) is false then
make new folder at KundenOrdner with properties {name:Firma}
end if
set target of Finder window 1 to folder Firma of folder KundenOrdner
if (folder Auftrag of folder Firma of folder KundenOrdner exists) is true then
display dialog "Dieser Auftrag ( " & Auftrag & ¬
" ) existiert schon."
end if
if (folder Auftrag of folder Firma of folder KundenOrdner exists) is false then
make new folder at folder Firma of folder KundenOrdner with properties {name:Auftrag}
set AuftrOrdner to folder Auftrag of folder Firma of folder KundenOrdner as text
make new folder at folder AuftrOrdner with properties {name:"1_Kundendaten"}
make new folder at folder AuftrOrdner with properties {name:"2_Entwürfe"}
make new folder at folder AuftrOrdner with properties {name:"3_Erstellungsdaten"}
make new folder at folder AuftrOrdner with properties {name:"4_Druckdaten"}
make new folder at folder AuftrOrdner with properties {name:"5_Kommunikation"}
end if
set AuftrOrdner to folder Auftrag of folder Firma of folder KundenOrdner as text
set target of Finder window 1 to folder AuftrOrdner
end tell
end CreateOrUseFolder |
Ich danke euch für die rasche und informative antwort!
mfg
bambid |
|
Nach oben |
|
 |
iScript •---->


Anmeldedatum: 29.03.2001 Beiträge: 1116
|
Verfasst am: 13.01.2006 - 12:36 Titel: |
|
|
einfach testen: script als text speichern, mit dem OS9-Editor öffnen, und neu kompilieren für OS 9. ich weiss nicht, ob die set target-geschichten und OS9 so klappen, alles andere sollte funktionieren. _________________ - anholn deit kriegen - |
|
Nach oben |
|
 |
bambid •-->


Anmeldedatum: 05.01.2005 Beiträge: 67 Wohnort: Stein AG
|
Verfasst am: 16.01.2006 - 09:18 Titel: |
|
|
Ich habe es Probiert aber es hackt schon bei den make new "Finder Window"!!!
kann mir jemand dabei helfen?
mfg bambid |
|
Nach oben |
|
 |
iScript •---->


Anmeldedatum: 29.03.2001 Beiträge: 1116
|
Verfasst am: 16.01.2006 - 15:53 Titel: |
|
|
wie wär's mit
Code: | open folder KundenOrdner |
das dürfte unter 9 + X laufen. _________________ - anholn deit kriegen - |
|
Nach oben |
|
 |
bambid •-->


Anmeldedatum: 05.01.2005 Beiträge: 67 Wohnort: Stein AG
|
Verfasst am: 16.01.2006 - 16:21 Titel: |
|
|
Ja was meinst du damit?
ich denke mir mal das es nicht so gemeint ist das ich die "new window" befehle mit "open folder KundenOrdner" austauschen soll, oder?
ich danke dir auf jeden fall mal für deine Rasche hilfe!
mfg bambid |
|
Nach oben |
|
 |
iScript •---->


Anmeldedatum: 29.03.2001 Beiträge: 1116
|
Verfasst am: 16.01.2006 - 17:16 Titel: |
|
|
ganz genau das meine ich
open folder blablabla bewirkt doch genau das gleiche. es geht ein fenster auf, in dem der inhalt des Ordners angezeigt wird. |
|
Nach oben |
|
 |
|