Anzeige

[CS3] Scripting mit Javascript

[CS3] - Scripting mit Javascript | PSD-Tutorials.de

Erstellt von antonio2604, 30.03.2010.

  1. antonio2604

    antonio2604 Noch nicht viel geschrieben

    Dabei seit:
    25.01.2007
    Beiträge:
    3
    Scripting mit Javascript
    Hallo zusammen, ich arbeite mich gerade in das Scripting für Photoshop ein, und bin auf kleines Problem gestoßen!

    Ich rechne Bilder um und möchte diese nach dem verkleinern in bestimmte Ordner Speichern.
    Z.b. alle Bilder die mit einer 0 beginnen sollen in den Unterordner /0/ gespeichert werden.

    Ich habe das mit einer for schleife realisiert

    // Schleife zum abrufen bestimmter Artikelgruppen 0-9
    for ( var a = 0; a< 9;a++){

    //Holt sich die Dateien aus dem Quell Ordner
    var fileList = quellFolder.getFiles([a]+"*.jpg")


    // öffnen der Bilddaten
    for (var i = 0; i < fileList.length; i++) {

    var docRef = open(fileList)


    ....... hier wird das Bild verkleinert .........



    // Datei wird in einem neuen Ordner Gespeichert für größe L
    // save in JPEG
    var jpegOptions = new JPEGSaveOptions()
    jpegOptions.quality = 12

    // save

    docRef.saveAs(new File(zielFolder27dpi + a + "/" ), jpegOptions)


    // Original nicht verändern
    docRef.close(SaveOptions.DONOTSAVECHANGES)

    }

    }


    Bekomme jedoch immer eine Fehlermedung das in dieser Zeile etwas nicht stimmt
    docRef.saveAs(new File(zielFolder27dpi + a + "/" ), jpegOptions)

    habe es auch schon so versucht
    docRef.saveAs(new File(zielFolder27dpi "/" + a + "/" ), jpegOptions)
    und so
    docRef.saveAs(new File(zielFolder27dpi "/" + [a] + "/" ), jpegOptions)

    kann mir da vieleicht jemand helfen??

    Danke schon mal vorab...
     
    #1      
  2. zer02288

    zer02288 ZeroEnna

    Dabei seit:
    14.08.2008
    Beiträge:
    177
    Geschlecht:
    männlich
    Ort:
    Berlin
    Software:
    Adobe CS4 Collection
    Kameratyp:
    Canon EOS 7D
    Scripting mit Javascript
    AW: Scripting mit Javascript

    Ich glaube dein eigentlicher Fehler liegt darin das "a" eine lokale Variable ist und keine globale, wenn ich das jetzt richtig sehe. Einfach über der for schleife mal deklarieren.
    Wenn nicht solltest du es lieber mal in einem anderen Bereich/Forum probieren das sich mehr mit JS beschäftigt ;)
    Oder zeig mal den kompletten Code.
    GreezZ!!
    zero
     
    #2      
  3. Hupsi

    Hupsi Photoshopograph

    Dabei seit:
    22.07.2009
    Beiträge:
    2.052
    Geschlecht:
    männlich
    Ort:
    Austria
    Software:
    Photoshop CC 2014 / Cinema 4D R16
    Kameratyp:
    Nikon D800
    Scripting mit Javascript
    AW: Scripting mit Javascript

    Ich denke deine Frage ist im Forum "Webbereich" unter "PHP und andere Scriptsprachen" besser aufgehoben.

    Hupsi
     
    #3      
  4. Heideldan

    Heideldan Heideldan

    Dabei seit:
    11.12.2006
    Beiträge:
    245
    Geschlecht:
    männlich
    Scripting mit Javascript
    AW: Scripting mit Javascript

    Hupsi, das sehe ich nicht so. Das hat nix mit Web zu tun!

    Antonio, wie wär es, wenn du die Variable a in einen String umwandelst?
     
    #4      
  5. zer02288

    zer02288 ZeroEnna

    Dabei seit:
    14.08.2008
    Beiträge:
    177
    Geschlecht:
    männlich
    Ort:
    Berlin
    Software:
    Adobe CS4 Collection
    Kameratyp:
    Canon EOS 7D
    Scripting mit Javascript
    AW: Scripting mit Javascript

    dann kann er die files nicht mehr einlesen ;)
    getFiles([a]...
     
    #5      
  6. Heideldan

    Heideldan Heideldan

    Dabei seit:
    11.12.2006
    Beiträge:
    245
    Geschlecht:
    männlich
    Scripting mit Javascript
    AW: Scripting mit Javascript

    Schon mal von der Funktion toString() gehört? ;-)

    Bsp: MyNum.toString(10)+MyString
     
    #6      
  7. zer02288

    zer02288 ZeroEnna

    Dabei seit:
    14.08.2008
    Beiträge:
    177
    Geschlecht:
    männlich
    Ort:
    Berlin
    Software:
    Adobe CS4 Collection
    Kameratyp:
    Canon EOS 7D
    Scripting mit Javascript
    AW: Scripting mit Javascript

    Klar kenn ich toString aber das is in diesem fall doch total unnütz!
    JS kann schließlich auch Zahlen(int oder andere) in einen String schreiben.
    Von daher wirst du damit nichts erreichen...
    ...aber da antonio nichts genaueres zur Fehlermeldung sagt oder seinen vollständigen Code posted ist es eh nur Rätzelraten!
     
    #7      
  8. pixxxelschubser

    pixxxelschubser Realist

    Dabei seit:
    19.02.2008
    Beiträge:
    7.155
    Software:
    für jeden Zweck das Richtige
    Kameratyp:
    hab ich auch
    Scripting mit Javascript
    AW: Scripting mit Javascript

    Du solltest deine Variablen im Vorfeld definieren.
    Vermeide Verkettungen in Funktionen, sie werden sonst eventuell unübersichtlich!
    Vergiss keine Verkettungszeichen (dir fehlt mindestens ein "+")!
    Außerdem kannst du so höchstens einen Ordner definieren (aber leider nicht so erstellen) ? dein Dateiname und die Endung fehlen komplett!

    Wenn du alles beachtest, dann funktioniert es z.B. auf diese Art und Weise (ein Bild ist geöffnet und der Ordner: Desktop/zielFolder27dpi1 existiert)
    Info: Da es im Forum keine (schöne) Darstellungsform für JavaSkript gibt, habe ich die PHP-Darstellung gewählt und die Variable a habe ich nur aus Faulheit mit 1 belegt.
    PHP:
    1. var docRef = app.activeDocument;
    2. var a=1;
    3. var jpegOptions = new JPEGSaveOptions();
    4. jpegOptions.quality = 12;
    5. var ZFolder = "~/Desktop/" + "zielFolder27dpi" + "/" + a + "/";
    6. var saveFile = new File(ZFolder + "Datei_XYZ" + ".jpg");
    7. docRef.saveAs (saveFile, jpegOptions, false);
    Willst du die Verkettungen unbedingt einbauen, dann solltest du sie so schreiben (so könnte der Zielfolder auch nachträglich problemlos als Variable eingesetzt/ausgetauscht werden:
    PHP:
    1. docRef.saveAs(new File("~/Desktop/" + "zielFolder27dpi" + "/" + a + "/" + "Datei_XYZ" + ".jpg" ), jpegOptions)
    ;)
    Viel Spass


    Allerdings solltest du dein Vorgehen noch einmal überdenken!
    - Soll das Skript vollautomatisch ablaufen?
    - In welcher Ordnerstruktur liegen die Originaldateien?
    - Haben alle Dateien eine vorangestellte Ziffer, anhand dieser die Dateien zuverlässig "separiert" werden könnten?
    - Können identische Dateinamen 100%ig ausgeschlossen werden???
    - Gibt es nur einen Speicherordner mit den eingangs genannten 10 Unterordnern?
    - Sollen diese (bei Notwendigkeit) per Skript erstellt werden?
    - Bist du in der Lage die Dateinamen "skripttauglich" zu zerlegen (siehe Screenshot)?
    [​IMG]

    Noch zwei weitere Fragen:
    - Auf welchem Skript basieren deine Skriptschnipsel?
    - Kann dieses Skript wirklich für dein Vorhaben umgebaut werden?
     
    #8      
  9. antonio2604

    antonio2604 Noch nicht viel geschrieben

    Dabei seit:
    25.01.2007
    Beiträge:
    3
    Scripting mit Javascript
    AW: Scripting mit Javascript

    Hi danke für Eure Hilfe, war jetzt eine weile nicht mehr Online aber ich habe das Problem gelöst! ;)

    Es lag an einem Leerzeichen welches ich nicht gesehen habe.

    Ich habe ein Super Buch zum Download bei Adobe gefunden.
    JAVASCRIP SCRIPTING REFEREBCE

    Kann den Link hier mal Posten.
    Adobe - Photoshop Developer Center
     
    #9      
  10. pixxxelschubser

    pixxxelschubser Realist

    Dabei seit:
    19.02.2008
    Beiträge:
    7.155
    Software:
    für jeden Zweck das Richtige
    Kameratyp:
    hab ich auch
    Scripting mit Javascript
    AW: Scripting mit Javascript

    Das Leerzeichen würde ich gerne sehen.
    :D:rolleyes:

    Außerdem ist es durchaus üblich, die Lösung zu posten. So könnte der Thread bei zukünftigen Fragen auch eine Hilfe sein, wenn er über die Suche gefunden wird.
     
    #10      
  11. antonio2604

    antonio2604 Noch nicht viel geschrieben

    Dabei seit:
    25.01.2007
    Beiträge:
    3
    Scripting mit Javascript
    AW: Scripting mit Javascript

    Hi das Leerzeichen war im Ordnernamen es lag nicht am script das script läuft.
    Ich habe das Leerzeichen auf dem Mac nicht gesehen

    gern poste ich Morgen das Script mal.
     
    #11      
Seobility SEO Tool
x
×
×