[GastForen Programme Print/Bildbearbeitung Adobe InDesign Skriptwerkstatt Folder-Objekt mit Pfad als Argument

  • Suche
  • Hilfe
  • Lesezeichen
  • Benutzerliste
Print/Bildbearbeitung - Photos, Layout, Design
Themen
Beiträge
Moderatoren
Letzter Beitrag

Folder-Objekt mit Pfad als Argument

J.Puff
Beiträge gesamt: 222

31. Mär 2020, 19:05
Beitrag # 1 von 62
Bewertung:
(3370 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo,
ich habe das Problem, dass ich einen Ordner nicht über einen Pfad als Argument bekomme.

Das klappt:
Code
var _fol = Folder.selectDialog(); 
var _fileArr = _fol.getFiles();


Das nicht:
Code
var _fol = Folder.selectDialog(); 
var _path = _fol.fsName; // oder _fol.fullName, kein Unterschied im Ergebnis
var _fol2 = Folder(_path);
var _fileArr = _fol2.getFiles();


Allerdings tritt das Problem unter Windows und bei Photoshop (CC 2019) auf. Ich gehe aber davon aus, dass das Verhalten äquivalent zu InDesign sein müsste.

Weiß jemand Rat?
X

Folder-Objekt mit Pfad als Argument

Uwe Laubender
Beiträge gesamt: 4774

31. Mär 2020, 21:00
Beitrag # 2 von 62
Beitrag ID: #574693
Bewertung:
(3354 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Johannes,
mach' Dir mal Gedanken darüber, was genau Folder.selectDialog() zurückggibt.
Genau. Ein Folder-Objekt. Oder null, wenn der Benutzer den Dialog abbricht.

Teste mal, was dann _fol.fsName zurückgibt. Beispielsweise so:
Code
_fol.fsName.constructor.name 


Und, was sagt die JavaScript-Konsole oder ein alert(), das die Zeile auswertet?

Also. Spiel das bitte mal durch:

Code
( function() 
{

var fol1 = Folder.selectDialog();

// Do nothing if user pressed "Cancel" button:
if( fol1 == null ){ return };

$.writeln( fol1.constructor.name ); // Returns Folder

$.writeln( fol1.fsName.constructor.name ); // Returns String

var fol2 = Folder( fol1.fsName );
var filesOfFol2 = fol2.getFiles();

$.writeln( filesOfFol2.constructor.name ); // Returns Array

$.writeln( filesOfFol2.join("\r") );

}() )

*****
Mit herzlichem Gruß,
Uwe Laubender


als Antwort auf: [#574690]

Folder-Objekt mit Pfad als Argument

J.Puff
Beiträge gesamt: 222

31. Mär 2020, 21:19
Beitrag # 3 von 62
Beitrag ID: #574694
Bewertung:
(3340 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Hans,
danke für die Hinweise. Übersehe ich etwas oder gibt es keinen Unterscheid zu meinem zweiten, nicht funktionierenden, Code?

Tatsächlich führt auch Dein Code bei mir leider nicht zur Auflistung der Dateien, jedenfalls nicht unter Windows-Photoshop.

Beste Grüße
Johannes.


als Antwort auf: [#574693]

Folder-Objekt mit Pfad als Argument

WernerPerplies
Beiträge gesamt: 2521

1. Apr 2020, 07:33
Beitrag # 4 von 62
Beitrag ID: #574695
Bewertung:
(3292 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
moin Johannes,

wenn etwas nicht klappt, kann ein Blick in die Doku hilfreich sein:

Zitat If the user clicks OK, returns a File or Folder object for the selected file or folder. If the user cancels, returns null.


returns File or Folder or Null und Uwe testet auf Null bevor er getFiles() auf den vermeintlich ausgewählten Folder loslässt.

Ich treibe da noch ein wenig mehr Aufwand:
Code
alert(selectAllElementsOfFolder(Folder.current)); 
alert(selectAllElementsOfFolder());

/*Array*/function selectAllElementsOfFolder(/*Folder|String*/startFolder){
var /*Null|Folder|File|Function*/folder = null, /*Array*/files = [];
if (startFolder == null)
folder = Folder.selectDialog();
else{
if (typeof(startFolder) === "string")
startFolder = Folder(startFolder);
folder = startFolder.selectDlg();
}
if (folder != null){
if (folder.constructor.name == "File"){
folder = Folder(folder.path);
}
}
if (folder != null){
if (folder.constructor.name == "File"){
folder = Folder(folder.path);
}
files = folder.getFiles();
}
return files;
}


Einen schönen Tag wünscht

Werner Perplies
Auftragsprogrammierung und Skripte für Adobe InDesign
neu: WpsProjectHandler 15.06.2018, Version 1.75, neue Funktionen
Aktuelles
XING


als Antwort auf: [#574694]
(Dieser Beitrag wurde von WernerPerplies am 1. Apr 2020, 07:45 geändert)

Folder-Objekt mit Pfad als Argument

J.Puff
Beiträge gesamt: 222

1. Apr 2020, 10:20
Beitrag # 5 von 62
Beitrag ID: #574703
Bewertung:
(3261 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo,
auch für diesen Hinweis vielen Dank.

Entweder sehe ich gerade den Baum im Wald nicht, oder hattet ihr den Code in Windows-PhotoShop nicht getestet?

Das Problem ist nicht, dass unklar wäre, was
Code
Folder.selectDialog() 

zurück gibt.

Das Problem ist, dass
Code
Folder(IrgendeinTextPfad) 

kein Ordner-Objekt zurückgibt! Obwohl es genauso in der Doku beschrieben ist.

Danke für eine Erläuterung.


als Antwort auf: [#574695]

Folder-Objekt mit Pfad als Argument

WernerPerplies
Beiträge gesamt: 2521

1. Apr 2020, 10:55
Beitrag # 6 von 62
Beitrag ID: #574704
Bewertung:
(3254 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Moin,

PhotoShop?
Was'n das? :-)

Nein, ernsthaft, ich arbeite nur mit InDesign.

Was ist denn IrgendeinTextPfad für ein Datentyp?

Einen schönen Tag wünscht

Werner Perplies
Auftragsprogrammierung und Skripte für Adobe InDesign
neu: WpsProjectHandler 15.06.2018, Version 1.75, neue Funktionen
Aktuelles
XING


als Antwort auf: [#574703]

Folder-Objekt mit Pfad als Argument

J.Puff
Beiträge gesamt: 222

1. Apr 2020, 11:00
Beitrag # 7 von 62
Beitrag ID: #574705
Bewertung:
(3248 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Ja, es geht um Photoshop unter Windows.
Dazu gibt es leider keine Skriptwerkstatt, daher in diesem Forum gepostet.

IrgendeinTextPfad ist ein String mit Pfadangabe, so wie es
Code
Folder.fsName 

ausgibt.


als Antwort auf: [#574704]

Folder-Objekt mit Pfad als Argument

WernerPerplies
Beiträge gesamt: 2521

1. Apr 2020, 11:22
Beitrag # 8 von 62
Beitrag ID: #574706
Bewertung:
(3232 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Folder(Folder.fsName) sollte funktionieren, aber wozu brauchst Du dann Folder, Du hast doch bereits folder?

Zeig bite genau Deinen Code.

Existiert der Folder?

Wie sieht der ausgelesene String aus?

Falls Du den String als Text eingibst musst Du den "\" escapen.

versuche auch mal new Folder(folder.fsName), oder Folder(File(folder.fsName).path)

und zeige uns die jeweilige Ausgabe.

Einen schönen Tag wünscht

Werner Perplies
Auftragsprogrammierung und Skripte für Adobe InDesign
neu: WpsProjectHandler 15.06.2018, Version 1.75, neue Funktionen
Aktuelles
XING


als Antwort auf: [#574705]

Folder-Objekt mit Pfad als Argument

J.Puff
Beiträge gesamt: 222

1. Apr 2020, 11:30
Beitrag # 9 von 62
Beitrag ID: #574707
Bewertung:
(3225 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Werner,
ich hatte versucht das in meinem ersten Post darzulegen.
Bitte teste einmal folgenden Code mit Windows-PhotoShop:

Code
var _fol = Folder.selectDialog();  
var _path = _fol.fsName; // oder _fol.fullName, kein Unterschied im Ergebnis
var _fol2 = Folder(_path);
var _fileArr = _fol2.getFiles();
alert(_fileArr.length);


Es geht hierbei darum zu zeigen, dass ein String in
Code
Folder(_path) 

nicht zu einem Folder-Objekt führt.
Im späteren Script, wird der Pfad aus einer Voreinstellung gelesen und soll die Dateien in dem Ordner wiedergeben.


als Antwort auf: [#574706]

Folder-Objekt mit Pfad als Argument

Uwe Laubender
Beiträge gesamt: 4774

1. Apr 2020, 11:45
Beitrag # 10 von 62
Beitrag ID: #574709
Bewertung:
(3216 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Johannes,
mit welcher PhotoShop-Version genau sollen wir testen?

Hab's gerade mit zwei Versionen durchgespielt:
PhotoShop CS6 Version 13.1.2
PhotoShop CC 2019 Version 20.0.9

Kein Problem, alles wie erwartet:

Code
( function()  
{

$.writeln( app.version );

var fol1 = Folder.selectDialog();

// Do nothing if user pressed "Cancel" button:
if( fol1 == null ){ return };

$.writeln( fol1.constructor.name ); // Returns Folder

$.writeln( fol1.fsName.constructor.name ); // Returns String

var fol2 = Folder( fol1.fsName );
var filesOfFol2 = fol2.getFiles();

$.writeln( filesOfFol2.constructor.name ); // Returns Array

$.writeln( filesOfFol2.join("\r") );

}() )


Beispielergebnis:

Code
13.1.2 
Folder
String
Array
~/Desktop/startup%20scripts/AddRotateSpreadView-to-Pages-ContextMenu.jsx
~/Desktop/startup%20scripts/ForceDirectory.txt
~/Desktop/startup%20scripts/NoBreakInCharPanelPopup_CS5.jsx
~/Desktop/startup%20scripts/STARTUP-BeforePlacing-Set-CharacterStyle-to-NONE.jsx
~/Desktop/startup%20scripts/STARTUP-Show-ColorSettings-BEFORE-NewDoc.jsx
~/Desktop/startup%20scripts/STARTUP-ShowFolder-Of-ExportedFile.jsx
~/Desktop/startup%20scripts/STARTUP-VersionenSichern.jsx

*****
Mit herzlichem Gruß,
Uwe Laubender


als Antwort auf: [#574707]

Folder-Objekt mit Pfad als Argument

WernerPerplies
Beiträge gesamt: 2521

1. Apr 2020, 11:57
Beitrag # 11 von 62
Beitrag ID: #574710
Bewertung:
(3205 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Johannes,

Antwort auf: Bitte teste einmal folgenden Code mit Windows-PhotoShop:

Ich hatte es bereits gesagt, ich habe und benutze kein PhotoShop.

Mache bitte das, was ich Dir vorgeschalgen habe, sonst kann ich Dir nicht helfen.

Hast Du Uwes oder mein Skriptvorschlag 1:1 in Photoshop getestet?

Wird ein Fehler geworfen?

Wenn ja, welcher?

Ich glaube ja, dass wir noch nicht alle benötigten Informationen von Dir bekommen haben.

Einen schönen Tag wünscht

Werner Perplies
Auftragsprogrammierung und Skripte für Adobe InDesign
neu: WpsProjectHandler 15.06.2018, Version 1.75, neue Funktionen
Aktuelles
XING


als Antwort auf: [#574709]

Folder-Objekt mit Pfad als Argument

Martin Fischer
  
Beiträge gesamt: 12311

1. Apr 2020, 11:57
Beitrag # 12 von 62
Beitrag ID: #574711
Bewertung:
(3206 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Johannes,

Deinen Code habe ich unter Photoshop CC2020 getestet.

Das Ergebnis entspricht den Erwartungen.



Viele Grüße
Martin




als Antwort auf: [#574707]
Anhang:
_fileArr.length.jpg (18.7 KB)

Folder-Objekt mit Pfad als Argument

J.Puff
Beiträge gesamt: 222

1. Apr 2020, 12:05
Beitrag # 13 von 62
Beitrag ID: #574712
Bewertung:
(3198 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo,
danke für die Tests!

Bei mir kommt nur folgende Ausgabe:
20.0.9
Folder
String
Array

Aber:
Möglicherweise liegt es an der Parallels-Umgebung. Teste ich mit Ordnern auf der generischen Windows-Platte der VM klappt es, nehme ich Ordner aus der MacOSX-Umgebung klappt es nicht.
U.U. tritt das Problem dann auch mit Server-Volumes auf?


als Antwort auf: [#574709]

Folder-Objekt mit Pfad als Argument

WernerPerplies
Beiträge gesamt: 2521

1. Apr 2020, 12:26
Beitrag # 14 von 62
Beitrag ID: #574713
Bewertung:
(3191 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Und was ist mit
Code
$.writeln( fol1 ) 
$.writeln( fol1.fullName)
$.writeln( fol1.fsName);


Einen schönen Tag wünscht

Werner Perplies
Auftragsprogrammierung und Skripte für Adobe InDesign
neu: WpsProjectHandler 15.06.2018, Version 1.75, neue Funktionen
Aktuelles
XING


als Antwort auf: [#574709]

Folder-Objekt mit Pfad als Argument

J.Puff
Beiträge gesamt: 222

1. Apr 2020, 12:39
Beitrag # 15 von 62
Beitrag ID: #574715
Bewertung:
(3185 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Bitteschön:




als Antwort auf: [#574713]
Anhang:
Bildschirmfoto.png (28.8 KB)
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
04.09.2020 - 05.03.2021

Digicomp Academy AG, Limmatstrasse 50, 8005 Zürich
Freitag, 04. Sept. 2020, 13.00 Uhr - Freitag, 05. März 2021, 12.00 Uhr

Lehrgang

Bilden Sie sich zum zertifizierten Publishing-Multimedia-Profi aus. Neben Fotografie und Video befassen Sie sich mit der Medienproduktion, digitalen Publikationen und dem Webdesign für Desktop- und mobile Endgeräte. Mit dem Abschluss «Publisher Professional – Profil «Multimedia» verliehen durch die Digicomp Academy AG, bestätigen Sie Ihre Praxiserfahrungen und Qualifizierung in den genannten Themengebieten gegenüber Ihrem Arbeitgeber sowie Ihren Kunden.

Preis: CHF 10'500.-
Dauer: 30 Tage (ca. 210 Lektionen) – Unterricht findet jeweils am Freitag von 13 - 19 Uhr und Samstag von 09 - 17 Uhr statt

Nein

Organisator: Digicomp Academy AG

Kontaktinformation: Isil Günalp, E-Mailisil.guenalp AT digicomp DOT ch

https://www.digicomp.ch/weiterbildung/software-anwendungs-trainings/adobe-trainings/publishing-lehrgaenge/lehrgang-publisher-professional-profil-multimedia

Veranstaltungen
02.10.2020 - 11.12.2020

Digicomp Academy AG, Limmatstrasse 50, 8005 Zürich
Freitag, 02. Okt. 2020, 13.00 Uhr - Freitag, 11. Dez. 2020, 15.00 Uhr

Lehrgang

Steigen Sie in die Welt des Publishings ein und erlangen Sie die Zertifizierung von publishingNETWORK. Lernen Sie in diesem Lehrgang Druckmedien professionell zu erarbeiten, druckfertige PDFs zu erstellen und CI/CD-Vorgaben umzusetzen. Mit dem Abschluss «Publisher Basic» verliehen durch die Digicomp Academy AG, bestätigen Sie Ihre Praxiserfahrungen und Qualifizierung in den genannten Themengebieten gegenüber Ihrem Arbeitgeber sowie Ihren Kunden.

Preis: CHF 6'300.-
Dauer: 18 Tage (ca. 126 Lektionen) – Unterricht findet jeweils am Freitag von 13 - 19 Uhr und Samstag von 09 - 17 Uhr statt.

Nein

Organisator: Digicomp Academy AG

Kontaktinformation: Isil Günalp, E-Mailisil.guenalp AT digicomp DOT ch

https://www.digicomp.ch/weiterbildung/software-anwendungs-trainings/adobe-trainings/publishing-lehrgaenge/lehrgang-publisher-basic

Neuste Foreneinträge


Aufzählung mit hängendem Einzug in QX20?

wie langen Text auf viele Seiten einfügen - erledigt

Colormanagement bei Ausgabe von platzierten und profilierten cmyk-PDFs in 2020

Indesign Textrahmen mit frei definiertem Rahmen, Abstand zum Rahmen und vertikalem Keil erstellen

Pfad aus Zwischenablage für neues Bild ( rahmen )

Dropdown Farbmenu

Ja ich finde Adobe Anwendungen spitze, aber ...

Indesign Fußnoten/Endnoten bei Buchfunktion

Problem mit der Verknüpfung von InDesign mit Excel

Automatische Farbmengenberechnung
medienjobs