Fischer-Bayern.de
 FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen   RegistrierenRegistrieren 
 ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin 

Falls Ordner vorhanden in diesen schreiben!

 
Dieses Forum ist gesperrt, du kannst keine Beiträge editieren, schreiben oder beantworten.   Dieses Thema ist gesperrt, du kannst keine Beiträge editieren oder beantworten.    Fischer-Bayern.de Foren-Übersicht -> AppleScript-Forum
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
bambid
•-->
•-->


Anmeldedatum: 05.01.2005
Beiträge: 67
Wohnort: Stein AG

BeitragVerfasst am: 04.01.2006 - 09:40    Titel: Falls Ordner vorhanden in diesen schreiben! Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden
bambid
•-->
•-->


Anmeldedatum: 05.01.2005
Beiträge: 67
Wohnort: Stein AG

BeitragVerfasst am: 04.01.2006 - 13:59    Titel: Antworten mit Zitat

Sorry es ist mir aufgefallen das ich dies in das falsche Forum geschrieben habe! es ist OSX
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
RainerT
•-->
•-->


Anmeldedatum: 27.12.2002
Beiträge: 25

BeitragVerfasst am: 04.01.2006 - 14:44    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden
bambid
•-->
•-->


Anmeldedatum: 05.01.2005
Beiträge: 67
Wohnort: Stein AG

BeitragVerfasst am: 05.01.2006 - 10:44    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden
RainerT
•-->
•-->


Anmeldedatum: 27.12.2002
Beiträge: 25

BeitragVerfasst am: 05.01.2006 - 10:49    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden
spirigwi
•----->
•----->


Anmeldedatum: 10.07.2003
Beiträge: 1517
Wohnort: Olten-CH

BeitragVerfasst am: 05.01.2006 - 13:42    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden AIM-Name
bambid
•-->
•-->


Anmeldedatum: 05.01.2005
Beiträge: 67
Wohnort: Stein AG

BeitragVerfasst am: 12.01.2006 - 13:30    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden
iScript
•---->
•---->


Anmeldedatum: 29.03.2001
Beiträge: 1116

BeitragVerfasst am: 13.01.2006 - 09:31    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen AIM-Name
bambid
•-->
•-->


Anmeldedatum: 05.01.2005
Beiträge: 67
Wohnort: Stein AG

BeitragVerfasst am: 13.01.2006 - 11:12    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden
iScript
•---->
•---->


Anmeldedatum: 29.03.2001
Beiträge: 1116

BeitragVerfasst am: 13.01.2006 - 12:36    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen AIM-Name
bambid
•-->
•-->


Anmeldedatum: 05.01.2005
Beiträge: 67
Wohnort: Stein AG

BeitragVerfasst am: 16.01.2006 - 09:18    Titel: Antworten mit Zitat

Ich habe es Probiert aber es hackt schon bei den make new "Finder Window"!!!
kann mir jemand dabei helfen?

mfg bambid
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
iScript
•---->
•---->


Anmeldedatum: 29.03.2001
Beiträge: 1116

BeitragVerfasst am: 16.01.2006 - 15:53    Titel: Antworten mit Zitat

wie wär's mit

Code:
open folder KundenOrdner


das dürfte unter 9 + X laufen.
_________________
- anholn deit kriegen -
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen AIM-Name
bambid
•-->
•-->


Anmeldedatum: 05.01.2005
Beiträge: 67
Wohnort: Stein AG

BeitragVerfasst am: 16.01.2006 - 16:21    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden
iScript
•---->
•---->


Anmeldedatum: 29.03.2001
Beiträge: 1116

BeitragVerfasst am: 16.01.2006 - 17:16    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen AIM-Name
Beiträge der letzten Zeit anzeigen:   
Dieses Forum ist gesperrt, du kannst keine Beiträge editieren, schreiben oder beantworten.   Dieses Thema ist gesperrt, du kannst keine Beiträge editieren oder beantworten.    Fischer-Bayern.de Foren-Übersicht -> AppleScript-Forum Alle Zeiten sind GMT + 2 Stunden
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.


Powered by phpBB © 2001, 2002 phpBB Group
Deutsche Übersetzung von phpBB.de


AppleScript für absolute Starter