[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: 238

31. Mär 2020, 19:05
Beitrag # 1 von 62
Bewertung:
(7598 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: 5319

31. Mär 2020, 21:00
Beitrag # 2 von 62
Beitrag ID: #574693
Bewertung:
(7582 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") );

}() )



als Antwort auf: [#574690]

Folder-Objekt mit Pfad als Argument

J.Puff
Beiträge gesamt: 238

31. Mär 2020, 21:19
Beitrag # 3 von 62
Beitrag ID: #574694
Bewertung:
(7568 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: 2762

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



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: 238

1. Apr 2020, 10:20
Beitrag # 5 von 62
Beitrag ID: #574703
Bewertung:
(7489 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: 2762

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


als Antwort auf: [#574703]

Folder-Objekt mit Pfad als Argument

J.Puff
Beiträge gesamt: 238

1. Apr 2020, 11:00
Beitrag # 7 von 62
Beitrag ID: #574705
Bewertung:
(7476 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: 2762

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


als Antwort auf: [#574705]

Folder-Objekt mit Pfad als Argument

J.Puff
Beiträge gesamt: 238

1. Apr 2020, 11:30
Beitrag # 9 von 62
Beitrag ID: #574707
Bewertung:
(7453 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: 5319

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



als Antwort auf: [#574707]

Folder-Objekt mit Pfad als Argument

WernerPerplies
Beiträge gesamt: 2762

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


als Antwort auf: [#574709]

Folder-Objekt mit Pfad als Argument

Martin Fischer
  
Beiträge gesamt: 12783

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

Deinen Code habe ich unter Photoshop CC2020 getestet.

Das Ergebnis entspricht den Erwartungen.




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

Folder-Objekt mit Pfad als Argument

J.Puff
Beiträge gesamt: 238

1. Apr 2020, 12:05
Beitrag # 13 von 62
Beitrag ID: #574712
Bewertung:
(7426 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: 2762

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



als Antwort auf: [#574709]

Folder-Objekt mit Pfad als Argument

J.Puff
Beiträge gesamt: 238

1. Apr 2020, 12:39
Beitrag # 15 von 62
Beitrag ID: #574715
Bewertung:
(7413 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
14.05.2024

Online
Dienstag, 14. Mai 2024, 10.00 - 10.30 Uhr

Webinar

Prozessoptimierung ist ein Teamsport! Keine Software und keine Maschine allein kann Ihnen helfen, die Effizienzpotenziale Ihres Betriebes maximal auszuschöpfen. Von der Auftragsannahme über die Vorstufe und den Druck bis hin zur Weiterverarbeitung – alles muss optimal ineinandergreifen. Apropos Weiterverarbeitung – in vielen Druckbetrieben fristet sie in Sachen Prozessoptimierung immer noch ein Schattendasein. Dabei liegen hier mittlerweile die größten Einsparpotenziale! In einem Webinar von Horizon und Impressed erfahren Sie, wie Sie diese Einsparungen realisieren können. Horizon, bekannt für innovative Lösungen in der Druckweiterverarbeitung, bietet mit iCE LiNK eine Workflowlösung für die Weiterverarbeitung. iCE LiNK überwacht, visualisiert und analysiert Produktionsabläufe und unterstützt bei der Wartung – damit immer alles reibungslos läuft. Den gleichen Anspruch hat der von Impressed entwickelte Impressed Workflow Server – er ist die smarte PDF-Workflow-Lösung für Druckereien, die Datenmanagement, Preflight und Produktionssteuerung übernimmt. Im Webinar zeigen Ihnen die Experten von Horizon und Impressed, wie beide Lösungen im Team die Effizienz und Produktivität Ihres Betriebes steigern können. Melden Sie sich am besten gleich an, wir freuen uns auf Sie! PS: Melden Sie sich in jedem Fall an – sollten Sie zum Termin verhindert sein, erhalten Sie die Aufzeichnung.

kostenlos

Ja

Organisator: Impressed / Horizon

https://www.impressed.de/schulung.php?c=sDetail&sid=327

Einsparpotenziale in der Weiterverarbeitung
Veranstaltungen
16.05.2024

Online
Donnerstag, 16. Mai 2024, 10.00 - 10.30 Uhr

Webinar

Komplizierte, kleinteilige Aufträge; alles sehr speziell; seit Jahren bewährte Prozesse – da können wir nichts standardisieren und automatisieren! Das sagen viele Großformatdrucker – aber stimmt das wirklich, ist dem tatsächlich so? Günther Business Solutions und Impressed treten in einem Webinar den Gegenbeweis an. Experten beider Unternehmen zeigen, wie Großformatdrucker vom Einsatz zweier bewährter Lösungen profitieren können: • von advanter print+sign von Günther Business Solutions, dem ERP-System für den Großformatdruck, dass alle Phasen der Wertschöpfung im Large Format Printing abdeckt • von Impressed Workflow Server, der smarten PDF-Workflow-Lösung für Druckereien, die Datenmanagement, Preflight und Produktionssteuerung übernimmt Über die Kombination beider Lösungen können Großformatdrucker ihre Prozesse mit modernen Workflows Schritt für Schritt automatisieren – und so zügig deutliche Zeit- und Kosteneinsparungen realisieren. Das Webinar sollten Sie sich nicht entgehen lassen – damit Sie keine Effizienzpotenziale mehr liegen lassen. Melden Sie sich am besten gleich an, wir freuen uns auf Sie! PS: Melden Sie sich in jedem Fall an – sollten Sie zum Termin verhindert sein, erhalten Sie die Aufzeichnung.

kostenlos

Nein

Organisator: Impressed / Günther Business Solutions

https://www.impressed.de/schulung.php?c=sDetail&sid=326

Und es geht doch: Automatisierung im Großformatdruck!