[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:
(2144 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: 4675

31. Mär 2020, 21:00
Beitrag # 2 von 62
Beitrag ID: #574693
Bewertung:
(2128 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:
(2114 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: 2502

1. Apr 2020, 07:33
Beitrag # 4 von 62
Beitrag ID: #574695
Bewertung:
(2066 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:
(2035 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: 2502

1. Apr 2020, 10:55
Beitrag # 6 von 62
Beitrag ID: #574704
Bewertung:
(2028 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:
(2022 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: 2502

1. Apr 2020, 11:22
Beitrag # 8 von 62
Beitrag ID: #574706
Bewertung:
(2006 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:
(1999 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: 4675

1. Apr 2020, 11:45
Beitrag # 10 von 62
Beitrag ID: #574709
Bewertung:
(1990 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: 2502

1. Apr 2020, 11:57
Beitrag # 11 von 62
Beitrag ID: #574710
Bewertung:
(1979 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: 12284

1. Apr 2020, 11:57
Beitrag # 12 von 62
Beitrag ID: #574711
Bewertung:
(1980 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:
(1972 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: 2502

1. Apr 2020, 12:26
Beitrag # 14 von 62
Beitrag ID: #574713
Bewertung:
(1965 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:
(1959 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Bitteschön:




als Antwort auf: [#574713]
Anhang:
Bildschirmfoto.png (28.8 KB)
X

Aktuell

Farbmanagement
06_MYIRO_300x300

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
10.06.2020

Die smarte PDF-Workflow-Lösung für Druckereien

Ortsunabhängig
Mittwoch, 10. Juni 2020, 10.00 - 10.30 Uhr

Webinar

In diesem kostenlosen ca. halbstündigen Webinar stellen wir Ihnen das neueste Produkt aus dem Hause Impressed vor: Der Impressed Workflow Server (IWS) ist eine automatisiert arbeitende PDF-Workflow-Lösung für Druckereien mit einer zentralen, Datenbank-gestützten Jobverwaltung und einer Browser-basierten Jobsteuerung. Die Bedienoberfläche des IWS ermöglicht eine Übersicht über die aktuellen in der Produktion befindlichen Dateien und kann deren weiteren Verlauf steuern. Der IWS automatisiert und standardisiert somit die Produktion.

Ja

Organisator: Impressed GmbH

Kontaktinformation: E-Mailschulungen AT impressed DOT de

https://impressed-workflow-server.de/

Der Impressed Workflow Server (IWS)
Veranstaltungen
15.06.2020 - 16.06.2020

Digicomp Academy AG, Küchengasse 9, 4051 Basel
Montag, 15. Juni 2020, 08.30 Uhr - Dienstag, 16. Juni 2020, 17.00 Uhr

Kurs

Adobe Experience Design, kurz XD ist das neue Programm für UX/UI-Design. Mit XD lassen sich visuelles Design und klickbare Prototypen nahtlos verbinden. Lernen Sie die wichtigsten Funktionen vom Entwurf am Bildschirm bis zum online geteilten Prototypen.

Preis: CHF 1'400.–
Dauer: 2 Tage

Nein

Organisator: https://www.digicomp.ch/weiterbildung/software-anwendungs-trainings/adobe-trainings/web-publishing/adobe-xd-cc/kurs-adobe-xd-basic

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

https://www.digicomp.ch/weiterbildung/software-anwendungs-trainings/adobe-trainings/web-publishing/adobe-xd-cc/kurs-adobe-xd-basic

Neuste Foreneinträge


transparentes tiff in indesign einfärben

AdobeCC Cloud deaktivieren

Hyperlink zu Textanker (CC2020, WIN10, JSX)

Gepunktete Kontur, nach innen versetzt

Text an ersten Absatz anhängen (CC2020, WIN10, JSX)

Skript Formate in Formatgruppen umbenennen

Achtung Adobe CC: Am 15.06.2020 sind 820 Schriftschnitte weg !

Verpacken per Skript

Win 10 - ext. HD

Belichter-Passer Problem bei 2 Jahre alten Gerät
medienjobs