Forenindex » Programme » Print/Bildbearbeitung » Adobe InDesign Skriptwerkstatt » Folder-Objekt mit Pfad als Argument

Folder-Objekt mit Pfad als Argument

J.Puff
Beiträge gesamt: 236

31. Mär 2020, 19:05
Bewertung:

gelesen: 7572

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?

Folder-Objekt mit Pfad als Argument

Uwe Laubender
Beiträge gesamt: 5316

31. Mär 2020, 21:00
Bewertung:

gelesen: 7556

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

Folder-Objekt mit Pfad als Argument

J.Puff
Beiträge gesamt: 236

31. Mär 2020, 21:19
Bewertung:

gelesen: 7542

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.

Folder-Objekt mit Pfad als Argument

WernerPerplies
Beiträge gesamt: 2760

1. Apr 2020, 07:33
Bewertung:

gelesen: 7494

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
Praxisnahe Skript-Lösungen und Skript-Programmierung für Adobe InDesign
Aktuelles (Stand: 14.02.2024)
Kundenstimmen

(Dieser Beitrag wurde von WernerPerplies am 1. Apr 2020, 07:45 geändert)

Folder-Objekt mit Pfad als Argument

J.Puff
Beiträge gesamt: 236

1. Apr 2020, 10:20
Bewertung:

gelesen: 7463

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.

Folder-Objekt mit Pfad als Argument

WernerPerplies
Beiträge gesamt: 2760

1. Apr 2020, 10:55
Bewertung:

gelesen: 7456

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
Praxisnahe Skript-Lösungen und Skript-Programmierung für Adobe InDesign
Aktuelles (Stand: 14.02.2024)
Kundenstimmen

Folder-Objekt mit Pfad als Argument

J.Puff
Beiträge gesamt: 236

1. Apr 2020, 11:00
Bewertung:

gelesen: 7450

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.

Folder-Objekt mit Pfad als Argument

WernerPerplies
Beiträge gesamt: 2760

1. Apr 2020, 11:22
Bewertung:

gelesen: 7434

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
Praxisnahe Skript-Lösungen und Skript-Programmierung für Adobe InDesign
Aktuelles (Stand: 14.02.2024)
Kundenstimmen

Folder-Objekt mit Pfad als Argument

J.Puff
Beiträge gesamt: 236

1. Apr 2020, 11:30
Bewertung:

gelesen: 7427

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.

Folder-Objekt mit Pfad als Argument

Uwe Laubender
Beiträge gesamt: 5316

1. Apr 2020, 11:45
Bewertung:

gelesen: 7418

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

Folder-Objekt mit Pfad als Argument

WernerPerplies
Beiträge gesamt: 2760

1. Apr 2020, 11:57
Bewertung:

gelesen: 7407

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
Praxisnahe Skript-Lösungen und Skript-Programmierung für Adobe InDesign
Aktuelles (Stand: 14.02.2024)
Kundenstimmen

Folder-Objekt mit Pfad als Argument

Martin Fischer
  
Beiträge gesamt: 12779

1. Apr 2020, 11:57
Bewertung:

gelesen: 7408

Beitrag als Lesezeichen
Hallo Johannes,

Deinen Code habe ich unter Photoshop CC2020 getestet.

Das Ergebnis entspricht den Erwartungen.



Viele Grüße
Martin



Anhang:
_fileArr.length.jpg (18.7 KB)

Folder-Objekt mit Pfad als Argument

J.Puff
Beiträge gesamt: 236

1. Apr 2020, 12:05
Bewertung:

gelesen: 7400

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?

Folder-Objekt mit Pfad als Argument

WernerPerplies
Beiträge gesamt: 2760

1. Apr 2020, 12:26
Bewertung:

gelesen: 7393

Beitrag als Lesezeichen
Und was ist mit
Code
$.writeln( fol1 ) 
$.writeln( fol1.fullName)
$.writeln( fol1.fsName);


Einen schönen Tag wünscht

Werner Perplies
Praxisnahe Skript-Lösungen und Skript-Programmierung für Adobe InDesign
Aktuelles (Stand: 14.02.2024)
Kundenstimmen

Folder-Objekt mit Pfad als Argument

J.Puff
Beiträge gesamt: 236

1. Apr 2020, 12:39
Bewertung:

gelesen: 7387

Beitrag als Lesezeichen
Bitteschön:



Anhang:
Bildschirmfoto.png (28.8 KB)

Folder-Objekt mit Pfad als Argument

Uwe Laubender
Beiträge gesamt: 5316

1. Apr 2020, 12:47
Bewertung:

gelesen: 2572

Beitrag als Lesezeichen
Zitat von Johannes …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?


Ja. Das eröffnet neue Fehlerquellen.
Allerdings bin ich dann mangels Parallels mit dem Testen am Ende.
*****
Mit herzlichem Gruß,
Uwe Laubender

Folder-Objekt mit Pfad als Argument

WernerPerplies
Beiträge gesamt: 2760

1. Apr 2020, 12:47
Bewertung:

gelesen: 2572

Beitrag als Lesezeichen
Dankeschön :-)

Teste
Code
var fol2 = Folder( fol1.fullName ); 


Einen schönen Tag wünscht

Werner Perplies
Praxisnahe Skript-Lösungen und Skript-Programmierung für Adobe InDesign
Aktuelles (Stand: 14.02.2024)
Kundenstimmen

Folder-Objekt mit Pfad als Argument

J.Puff
Beiträge gesamt: 236

1. Apr 2020, 12:53
Bewertung:

gelesen: 2569

Beitrag als Lesezeichen


Anhang:
Bildschirmfoto.png (45.9 KB)

Folder-Objekt mit Pfad als Argument

WernerPerplies
Beiträge gesamt: 2760

1. Apr 2020, 13:00
Bewertung:

gelesen: 2563

Beitrag als Lesezeichen
verwende, wie in meinem Beispielskript:

Code
fol1.selectDlg(); 


Einen schönen Tag wünscht

Werner Perplies
Praxisnahe Skript-Lösungen und Skript-Programmierung für Adobe InDesign
Aktuelles (Stand: 14.02.2024)
Kundenstimmen

Folder-Objekt mit Pfad als Argument

J.Puff
Beiträge gesamt: 236

1. Apr 2020, 13:09
Bewertung:

gelesen: 2553

Beitrag als Lesezeichen
Abgesehen davon, dass Folder.selectDlg() den Fehler „ist keine Funktion“ wirft, ist das auch nicht das Problem.

Folder.selectDialog() funktioniert.
Aber die Verwendung eines Pfades als Argument von Folder nicht!

Folder-Objekt mit Pfad als Argument

WernerPerplies
Beiträge gesamt: 2760

1. Apr 2020, 13:21
Bewertung:

gelesen: 2547

Beitrag als Lesezeichen
Antwort auf: Abgesehen davon, dass Folder.selectDlg() den Fehler „ist keine Funktion“ wirft, ist das auch nicht das Problem.


1. lese die Doku
2. schau dir mein Skript an
3. Auszug aus meinem Skript:
Code
        if (typeof(startFolder) === "string") 
startFolder = Folder(startFolder);
folder = startFolder.selectDlg();

oder
Code
var /*Folder*/folder = Folder("DeinFolder"); 
folder = folder.selectDlg();

und dann klappt es auch.

Ich bin dann mal weg.

Einen schönen Tag wünscht

Werner Perplies
Praxisnahe Skript-Lösungen und Skript-Programmierung für Adobe InDesign
Aktuelles (Stand: 14.02.2024)
Kundenstimmen

Folder-Objekt mit Pfad als Argument

J.Puff
Beiträge gesamt: 236

1. Apr 2020, 14:15
Bewertung:

gelesen: 2529

Beitrag als Lesezeichen
Danke für die Antwort, aber diese Zeilen öffnen einen Auswahl-Dialog für einen Ordner.
Das möchte ich nicht.
Ich möchte einen gespeicherten Pfad übergeben und ein Folder-Objekt zurückbekommen. Ohne Interaktion des Users.

Folder-Objekt mit Pfad als Argument

Uwe Laubender
Beiträge gesamt: 5316

1. Apr 2020, 14:25
Bewertung:

gelesen: 2524

Beitrag als Lesezeichen
Hallo Johannes,

ich dachte Du würdest einen Auswahldialog für einen bestimmten Ordner brauchen, den Du vorgeben möchtest. Vergiss also die Funktion selectDialog(); die ist dafür nicht brauchbar.

Dafür gibt's, was Werner Dir bereits nahebringen wollte, diese Funktion:

selectDlg()

Das einzige Argument dieser Funktion ist ein Prompt als String. Ist optional. Eine kleine Mitteilung an den Benutzer ganz oben im Dialog neben dem PhotoShop-Symbol. Überflüssig, meiner Ansicht nach, denn die beiden Schaltflächen des Dialogs sind bezeichnend: "Ordner auswählen" und "Abbrechen".

Zurück zur Funktion: Das ist also eine Funktion des Folder-Objekts. Und zwar eines existierenden Folder-Objekts. Wird diese Funktion aufgerufen, startet Sie den Dialog genau in dem Verzeichnis an das Du die Funktion angehängt hast.

Ab da gibt's dann genau zwei Möglichkeiten:

1. Der Anwender drückt Schaltfläche "Abbrechen", bricht den Dialog also ab:
Der zurückgegebene Wert der Funktion ist dann null.

2. Der Anwender drückt Schaltfläche "Ordner auswählen"
Der zurückgegebene Wert der Funktion ist dann ein Folder-Objekt.

Tut er dies ohne einen neuen Ordner zu wählen, dann wird genau der Folder zurückgegeben mit dem Du die Funktion selectDlg() einsetzt.

Wählt er ein Verzeichnis an, dann wird dieses Verzeichnis als Folder-Objekt zurückgegeben.

Das funktioniert bei mir problemlos mit PhotoShop auf Windows 10.

Ich bin mir jetzt völlig unsicher, was Du genau willst.
Ein gültiges Folder-Objekt konstruieren?
*****
Mit herzlichem Gruß,
Uwe Laubender

Folder-Objekt mit Pfad als Argument

WernerPerplies
Beiträge gesamt: 2760

1. Apr 2020, 14:27
Bewertung:

gelesen: 2522

Beitrag als Lesezeichen
Antwort auf: Danke für die Antwort, aber diese Zeilen öffnen einen Auswahl-Dialog für einen Ordner.
Das möchte ich nicht.


Warum benutzt Du dann Folder.selectDialog()?

Einen schönen Tag wünscht

Werner Perplies
Praxisnahe Skript-Lösungen und Skript-Programmierung für Adobe InDesign
Aktuelles (Stand: 14.02.2024)
Kundenstimmen

Folder-Objekt mit Pfad als Argument

J.Puff
Beiträge gesamt: 236

1. Apr 2020, 14:37
Bewertung:

gelesen: 2513

Beitrag als Lesezeichen
Meine Zeile
Code
var _fol = Folder.selectDialog(); 

im ersten Post war beispielhaft dafür gedacht einen Pfad (String) zu bekommen.

Dieser steht nur als Beispiel für einen in einer PrefDatei gespeicherten Pfad, der zu einem Folder-Objekt führen soll, was unter MacOSX ja auch problemlos klappt.
Laut Doku kann ich dem Folder einen Pfad übergeben:
Folder Folder ([path: string])
The absolute or relative path to the folder associated with this object, specified in URI format


Aber das führt nicht zu einem Folder-Objekt, aus dem ich dann die Dateien bekomme.
Ich weiß nicht, wie ich es anders beschrieben soll.
Offensichtlich verhält sich PS bei Euch anders.

Folder-Objekt mit Pfad als Argument

Uwe Laubender
Beiträge gesamt: 5316

1. Apr 2020, 15:12
Bewertung:

gelesen: 2507

Beitrag als Lesezeichen
Zitat von Johannes …im ersten Post war beispielhaft dafür gedacht einen Pfad (String) zu bekommen.


Hallo Johannes,
Du unterliegst da einem Denkfehler. Folder.selectDialog() gibt ein Verzeichnis zurück. Also ein waschechtes Folder-Objekt. ( Oder null, wenn der Anwender des Dialogs auf Abbrechen geht. )
*****
Mit herzlichem Gruß,
Uwe Laubender

Folder-Objekt mit Pfad als Argument

J.Puff
Beiträge gesamt: 236

1. Apr 2020, 15:17
Bewertung:

gelesen: 2503

Beitrag als Lesezeichen
Hallo Uwe,
ja, das weiß ich.
Um den Pfad zu bekommen, der den aus der Datei gelesen simulieren soll, gibt es ja danach noch diese Zeile:
var _path = _fol.fsName;
Bis hierhin also eine zum Testen gedachte Simulation.

Mit diesem String _path (wie gesagt, der sonst aus einer Einstellungsdatei gelesen wird) geht es jetzt zum wahren Problem:
var _fol2 = Folder(_path);
Hier bekomme ich mit _fol2 zwar noch ein Folder-Objekt, es gibt mir aber mit
var _fileArr = _fol2.getFiles();
keine Dateien zurück!

Folder-Objekt mit Pfad als Argument

WernerPerplies
Beiträge gesamt: 2760

1. Apr 2020, 15:19
Bewertung:

gelesen: 2503

Beitrag als Lesezeichen
Also, ich hoffe, ich habe es jetzt verstanden, versuche es so:
Code
/*Folder*/folder = Folder("\\\\Mac\\Home\\Documents\\Muster-PDF"); 


Auf dieses Problem hatte ich auch bereits hingewiesen:

Beitrag

Einen schönen Tag wünscht

Werner Perplies
Praxisnahe Skript-Lösungen und Skript-Programmierung für Adobe InDesign
Aktuelles (Stand: 14.02.2024)
Kundenstimmen

Folder-Objekt mit Pfad als Argument

J.Puff
Beiträge gesamt: 236

1. Apr 2020, 15:24
Bewertung:

gelesen: 2495

Beitrag als Lesezeichen
Danke, aber auch hier gibt var _fileArr = folder.getFiles(); nur ein leeres Array zurück.

Folder-Objekt mit Pfad als Argument

WernerPerplies
Beiträge gesamt: 2760

1. Apr 2020, 15:31
Bewertung:

gelesen: 2490

Beitrag als Lesezeichen
Dann teste mal dies:
Code
alert(File(Folder("\\\\Mac\\Home\\Documents\\Muster-PDF").folder + "/ExistierenderDateiname.Extension").exists) 


Einen schönen Tag wünscht

Werner Perplies
Praxisnahe Skript-Lösungen und Skript-Programmierung für Adobe InDesign
Aktuelles (Stand: 14.02.2024)
Kundenstimmen

Folder-Objekt mit Pfad als Argument

J.Puff
Beiträge gesamt: 236

1. Apr 2020, 15:37
Bewertung:

gelesen: 4303

Beitrag als Lesezeichen
Das Ergebnis ist: false

wohingehend diese Zeile ein true ergibt:
Code
alert(File("\\\\Mac\\Home\\Documents\\Muster-PDF/xyz.pdf").exists) 

Folder-Objekt mit Pfad als Argument

WernerPerplies
Beiträge gesamt: 2760

1. Apr 2020, 15:46
Bewertung:

gelesen: 4298

Beitrag als Lesezeichen
Okay, sorry, da habe ich einen kleinen Fehler gemacht:
Code
alert(File(Folder("\\\\Mac\\Home\\Documents\\Muster-PDF").fullName + "/ExistierenderDateiname.Extension").exists) 


Wenn das ein [b]true gibt, liegt das Problem nicht beim Folderobject, sondern bei der getFiles-Funktion.

letzter Versuch, wenn das Folderobject ok ist, versuche
Code
var /*Folder*/folder = Folder("\\\\Mac\\Home\\Documents\\Muster-PDF"); 
var /*Array*/files = folder.getFiles("");


Wenn das auch nicht funktioniert, passe ich.

Einen schönen Tag wünscht

Werner Perplies
Praxisnahe Skript-Lösungen und Skript-Programmierung für Adobe InDesign
Aktuelles (Stand: 14.02.2024)
Kundenstimmen

Folder-Objekt mit Pfad als Argument

J.Puff
Beiträge gesamt: 236

1. Apr 2020, 15:53
Bewertung:

gelesen: 4293

Beitrag als Lesezeichen
Leider keine Dateien im Array!

Aber wenn das Folder-Objekt in Ordnung sein sollte, warum klappt es dann mit dem Folder-Objekt, dass via selectDialog entsteht??

Folder-Objekt mit Pfad als Argument

WernerPerplies
Beiträge gesamt: 2760

1. Apr 2020, 15:57
Bewertung:

gelesen: 4286

Beitrag als Lesezeichen
Könntest Du mich mal anrufen?

Einen schönen Tag wünscht

Werner Perplies
Praxisnahe Skript-Lösungen und Skript-Programmierung für Adobe InDesign
Aktuelles (Stand: 14.02.2024)
Kundenstimmen

Folder-Objekt mit Pfad als Argument

Uwe Laubender
Beiträge gesamt: 5316

1. Apr 2020, 16:02
Bewertung:

gelesen: 4278

Beitrag als Lesezeichen
Zitat von Johannes Das Ergebnis ist: false

wohingehend diese Zeile ein true ergibt:
Code
alert(File("\\\\Mac\\Home\\Documents\\Muster-PDF/xyz.pdf").exists) 



Na, dann hätte ich noch einen:

Code
File("\\\\Mac\\Home\\Documents\\Muster-PDF/xyz.pdf").parent.getFiles(); 


Was ergibt das dann?
*****
Mit herzlichem Gruß,
Uwe Laubender

Folder-Objekt mit Pfad als Argument

J.Puff
Beiträge gesamt: 236

1. Apr 2020, 16:46
Bewertung:

gelesen: 4266

Beitrag als Lesezeichen
Hallo Uwe,
das gibt ein freundliches true zurück!

Ich habe gerade länger mit Werner gesprochen, wir bekommen keinen Sinn in dieses Verhalten!

Ich versuche später mal herauszufinden, wer uns da neckt!

Danke für die Unterstützung!!

Folder-Objekt mit Pfad als Argument

pixxxelschubser
Beiträge gesamt: 1708

1. Apr 2020, 20:22
Bewertung:

gelesen: 4205

Beitrag als Lesezeichen
Hi @J.Puff,
ist ja eine nette Gesellschaft hier.
Wink

Ich kann zwar weder mit Mac noch mit Parallels testen - aber was passiert denn grundsätzlich bei folgendem Code?
Code
#target Photoshop-130 
var aFol = Folder.desktop;
$.writeln( aFol.getFiles().join("\r") );



Wink
Viele Grüße
pixxxelschubser




Was wir wissen, ist ein Tropfen; was wir nicht wissen, ein Ozean.

Isaac Newton


Folder-Objekt mit Pfad als Argument

J.Puff
Beiträge gesamt: 236

1. Apr 2020, 20:27
Bewertung:

gelesen: 4199

Beitrag als Lesezeichen
Guten Abend,
das wird wohl funktionieren, da es sich, sagen wir mal so, um einen „fest verdrahteten“ Ordner handelt.
Die Problematik besteht, wenn dem Folder als Argument ein Textpfad übergeben wird.

Mit freundlichen Grüßen

Folder-Objekt mit Pfad als Argument

pixxxelschubser
Beiträge gesamt: 1708

1. Apr 2020, 20:29
Bewertung:

gelesen: 4195

Beitrag als Lesezeichen
Probier's doch bitte aus. Dann sehen wir weiter.
Smile


Wink
Viele Grüße
pixxxelschubser




Was wir wissen, ist ein Tropfen; was wir nicht wissen, ein Ozean.

Isaac Newton


Folder-Objekt mit Pfad als Argument

WernerPerplies
Beiträge gesamt: 2760

2. Apr 2020, 08:06
Bewertung: |||

gelesen: 4163

Beitrag als Lesezeichen
Moin Johannes,

ich konnte heute Morgen Dein Problem nachvollziehen und habe vermutlich eine Lösung für Dich.

Adobes? Javascript hat tatsächlich ein Problem mit einer bestimmten Art von Netzwerklaufwerken unter Windows, Dein Mac-Laufwerk und Shared Hostfolders von VMware können dazugehören.

Lösung:
Ordne diesen Laufwerken unter Windows einen Laufwerksbuchstaben zu:

Explorer -> Netzwerklaufwerk wählen -> rechte Maustaste -> Netzwerklaufwerk verbinden:
Netzwerklaufwerk verbinden

und benutze den Pfad mit den Laufwerksbuchstaben.

Einen schönen Tag wünscht

Werner Perplies
Praxisnahe Skript-Lösungen und Skript-Programmierung für Adobe InDesign
Aktuelles (Stand: 14.02.2024)
Kundenstimmen

Folder-Objekt mit Pfad als Argument

J.Puff
Beiträge gesamt: 236

2. Apr 2020, 09:37
Bewertung:

gelesen: 4146

Beitrag als Lesezeichen
Moin Werner,
danke für die weitere Evaluation!
Ich werde das heute mal testen.

Wenn es klappt wäre das natürlich ein Weg, andererseits erlebe ich es als schwierig, Kunden so etwas vorzuschreiben. Verbunden mit der Frage, ob sie es denn wirklich (richtig) machen. Meist ist es ein Quell von Supportfragen.

Mit freundlichen Grüßen

Folder-Objekt mit Pfad als Argument

WernerPerplies
Beiträge gesamt: 2760

2. Apr 2020, 09:50
Bewertung:

gelesen: 4134

Beitrag als Lesezeichen
Moin Johannes,
Antwort auf: Wenn es klappt wäre das natürlich ein Weg, andererseits erlebe ich es als schwierig, Kunden so etwas vorzuschreiben. Verbunden mit der Frage, ob sie es denn wirklich (richtig) machen. Meist ist es ein Quell von Supportfragen.

Das ist ein Standardverfahren unter Windows, viele (meistens ältere) Programme unter Windows funktionieren nur mit Laufwerksbuchstaben.

Einen schönen Tag wünscht

Werner Perplies
Praxisnahe Skript-Lösungen und Skript-Programmierung für Adobe InDesign
Aktuelles (Stand: 14.02.2024)
Kundenstimmen

Folder-Objekt mit Pfad als Argument

J.Puff
Beiträge gesamt: 236

2. Apr 2020, 14:10
Bewertung:

gelesen: 4094

Beitrag als Lesezeichen
Hallo Werner,
leider hat es bei mir auch nicht geholfen, den SharedFolder unter Windows 7 mit einem Laufwerksbuchstaben zu versehen.
Vielleicht liegt es aber auch an der Parallels-Umgebung.
Ich habe hier keinen aktiven Windows-Rechner zum Testen.

Trotzdem danke für den Tipp.

Mit freundlichen Grüßen

Folder-Objekt mit Pfad als Argument

WernerPerplies
Beiträge gesamt: 2760

2. Apr 2020, 14:48
Bewertung:

gelesen: 4088

Beitrag als Lesezeichen
Hallo Johannes,

das Zuordnen hat aber geklappt?

Und konntest im Explorer über den Laufwerksbuchstaben die Dateien anzeigen lassen?

Das Verbinden mit Netzlaufwerken sollte sich übrigens sowohl temporär als auch dauerhaft per Skript erledigen lassen.

Suche einfach mal "windows net use command".

Einen schönen Tag wünscht

Werner Perplies
Praxisnahe Skript-Lösungen und Skript-Programmierung für Adobe InDesign
Aktuelles (Stand: 14.02.2024)
Kundenstimmen

Folder-Objekt mit Pfad als Argument

J.Puff
Beiträge gesamt: 236

2. Apr 2020, 14:56
Bewertung:

gelesen: 4081

Beitrag als Lesezeichen
Hallo Werner,
ja, die Verbindung hatte geklappt, half aber leider nicht:



Mit freundlichen Grüßen

Anhang:
Bildschirmfoto.png (92.2 KB)

Folder-Objekt mit Pfad als Argument

WernerPerplies
Beiträge gesamt: 2760

2. Apr 2020, 15:35
Bewertung:

gelesen: 2713

Beitrag als Lesezeichen
Also dies funktioniert nicht?
Code
var /*Folder*/folder = Folder("Z:\\"); 
folder.getFiles().join("\n");
/z/USB_F
/z/USB_D
/z/USB_G
/z/USB_H
/z/gemeinsam
/z/USB_I


Einen schönen Tag wünscht

Werner Perplies
Praxisnahe Skript-Lösungen und Skript-Programmierung für Adobe InDesign
Aktuelles (Stand: 14.02.2024)
Kundenstimmen

Folder-Objekt mit Pfad als Argument

J.Puff
Beiträge gesamt: 236

3. Apr 2020, 12:27
Bewertung:

gelesen: 2677

Beitrag als Lesezeichen
Hallo Werner,
es hat ein bisschen gedauert:

Code
var /*Folder*/folder = Folder("C:\\"); 
folder.getFiles();

gibt Dateien zurück.

Code
var /*Folder*/folder = Folder("Z:\\"); 
folder.getFiles();

gibt KEINE Dateien zurück!

Beste Grüße
Johannes

Folder-Objekt mit Pfad als Argument

WernerPerplies
Beiträge gesamt: 2760

3. Apr 2020, 12:49
Bewertung:

gelesen: 2673

Beitrag als Lesezeichen
Okay,

Du hattest mir noch nicht die Frage beantwortet, ob Du über den Laufwerksbuchstaben Z Dateien im Explorer anzeigen lassen kannst.

Und wenn ich jetzt vor Deinem Rechner säße, würde ich ich noch Folgendes versuchen:
Freigabe des Mac-Laufwerkes für's Netzwerk,

Zugriff von Windows auf dieses Laufwerk, dann Netzwerk verbinden.

Das wäre die Situation, die ich hier habe.

Und noch etwas:
Ich würde gerne den Output von
Windowstaste+R, Eingabe cmd, net use, sehen.

Funktioniert denn das, was ich Dir vorgeschlagen habe, bei Deinem Kunden?

Da scheint es doch auch um ein Netzwerklaufwerk zu gehen.

Einen schönen Tag wünscht

Werner Perplies
Praxisnahe Skript-Lösungen und Skript-Programmierung für Adobe InDesign
Aktuelles (Stand: 14.02.2024)
Kundenstimmen

Folder-Objekt mit Pfad als Argument

J.Puff
Beiträge gesamt: 236

3. Apr 2020, 14:27
Bewertung:

gelesen: 2664

Beitrag als Lesezeichen
Hallo Werner,
hier meine „Hausaufgaben“:

1. über den Laufwerksbuchstaben Z kann ich Dateien im Explorer anzeigen lassen.

2. net use:


Die anderen Punkte kann ich leider nicht durchführen, da der Kunde dazu nicht bereit ist. Er hat mir aber versichert, dass er von Laufwerk C arbeitet und keine Dateien gefunden wurden.

Schnee Wochenende wünscht,
Johannes.

Anhang:
NetUse.png (13.9 KB)

Folder-Objekt mit Pfad als Argument

pixxxelschubser
Beiträge gesamt: 1708

3. Apr 2020, 15:13
Bewertung:

gelesen: 2651

Beitrag als Lesezeichen
@J.Puff
Hast du zwischenzeitlich meinen Skript-Schnitzel von Beitrag #37 getestet?

Oder bist du gar nicht an einer etwas anderen Lösungsfindung interessiert?


Wink
Viele Grüße
pixxxelschubser




Was wir wissen, ist ein Tropfen; was wir nicht wissen, ein Ozean.

Isaac Newton


Folder-Objekt mit Pfad als Argument

WernerPerplies
Beiträge gesamt: 2760

3. Apr 2020, 15:27
Bewertung:

gelesen: 2647

Beitrag als Lesezeichen
Hallo Johannes,

Antwort auf: 1. über den Laufwerksbuchstaben Z kann ich Dateien im Explorer anzeigen lassen.



Okay, dann gibt es wenigstens kein Rechteproblem, es scheint also ein Problem der Laufwerkseinbindung von Parallels zu sein.

Es ist da offensichtlich anders gelöst als bei VMware.

Falls Du noch weitermachen willst, solltest Du noch, wie von mir vorgeschlagen, eine Verbindung über das IP-Netz ausprobieren.

Was Deinen Kunden angeht, wenn keine Dateien auf C: angezeigt werden, wäre die einzige Erklärung, dass es keine Rechte auf den Zielordner oder die Zieldateien gibt.

Dein Skript greift ja mit den Rechten der Photoshop-Users zu.
Ansonsten kommen wir ohne Mitwirkung des Kunden definitiv nicht weiter.

Dir auch ein schönes Wochenende von der sonnigen, windigen und gesperrten Ostsee-Halbinsel Fischland-Darß-Zingst.

Einen schönen Tag wünscht

Werner Perplies
Praxisnahe Skript-Lösungen und Skript-Programmierung für Adobe InDesign
Aktuelles (Stand: 14.02.2024)
Kundenstimmen

Folder-Objekt mit Pfad als Argument

J.Puff
Beiträge gesamt: 236

3. Apr 2020, 15:28
Bewertung:

gelesen: 2641

Beitrag als Lesezeichen
Hallo pixxxelschubser,
es gibt andere Teile des Scripts, die so arbeiten und in denen Dateien zurückgegeben werden, z.B.:
Code
var _folderPath =  Folder.userData.fullName; 
var _folder = new Folder(_folderPath);


Auch hier handelt es sich um ein vordefiniertes Attribute der Class Folder, wie bei dem Vorschlag .desktop.
Daher ist die Annahme, dass das Verhalten identisch ist ziemlich hoch.

Was könnte der Test denn Neues zeigen?

Mit freundlichen Grüßen

Folder-Objekt mit Pfad als Argument

WernerPerplies
Beiträge gesamt: 2760

3. Apr 2020, 15:31
Bewertung:

gelesen: 2639

Beitrag als Lesezeichen
Hallo pixxxelschubser,

laut Johannes funktionieren vordefinierte Ordner appdata, current, commonFiles und desktop und damit auch Dein Code.

Einen schönen Tag wünscht

Werner Perplies
Praxisnahe Skript-Lösungen und Skript-Programmierung für Adobe InDesign
Aktuelles (Stand: 14.02.2024)
Kundenstimmen

Folder-Objekt mit Pfad als Argument

J.Puff
Beiträge gesamt: 236

3. Apr 2020, 15:32
Bewertung:

gelesen: 2639

Beitrag als Lesezeichen
Antwort auf: Was Deinen Kunden angeht, wenn keine Dateien auf C: angezeigt werden, wäre die einzige Erklärung, dass es keine Rechte auf den Zielordner oder die Zieldateien gibt.


Naja, da spricht eigentlich gegen, dass ein Zugriff via Folder.selectDialog und der direkten Verwendung des Folder-Objektes klappt.
Aber es klappt eben nicht, wenn der Pfad als Argument für Folder verwendet wird.
Es ist in beiden Fällen der gleiche Ordner. Und er hat beides Mal die gleichen Rechte.

Mit freundlichen Grüßen

Folder-Objekt mit Pfad als Argument

WernerPerplies
Beiträge gesamt: 2760

3. Apr 2020, 15:38
Bewertung:

gelesen: 2633

Beitrag als Lesezeichen
Okay,

Dein Einwand ist berechtigt, aber ohne es selbst ausprobieren zu können, weiß ich dann nicht mehr weiter.

Wie schon gesagt, konnte ich hier Dein Problem reproduzieren und lösen, es dürfte also kein Photoshop-Problem sein.

Und bisher hat keiner meiner Kunden solch ein Problem gehabt, und es gibt davon einige! :-)

Einen schönen Tag wünscht

Werner Perplies
Praxisnahe Skript-Lösungen und Skript-Programmierung für Adobe InDesign
Aktuelles (Stand: 14.02.2024)
Kundenstimmen

Folder-Objekt mit Pfad als Argument

pixxxelschubser
Beiträge gesamt: 1708

3. Apr 2020, 15:45
Bewertung:

gelesen: 2627

Beitrag als Lesezeichen
Weiter oben wurde von euch gemutmaßt, dass get.files eventuell nicht so funktioniert, wie erwartet.

Meine Vermutung liegt eher in der Notation eurer Pfadangabe. Um dieser Vermutung aber weiter nachgehen zu können, brauche ich eine definitiv gesicherte Angabe, dass die Standardvariante des Auslesens der Dateien eines fest verdrahteten Ordners (aus Photoshop heraus) tatsächlich funktioniert.

Ohne diese Angabe ist es vollkommen sinnlos, meiner Vermutung weiter nachzugehen.


Wink
Viele Grüße
pixxxelschubser




Was wir wissen, ist ein Tropfen; was wir nicht wissen, ein Ozean.

Isaac Newton


Folder-Objekt mit Pfad als Argument

WernerPerplies
Beiträge gesamt: 2760

3. Apr 2020, 16:00
Bewertung:

gelesen: 2623

Beitrag als Lesezeichen
Johannes,

der von Dir beschriebene Effekt zeig sich auch, wenn Du getFiles() auf eine Verknüpfung loslässt.

Einen schönen Tag wünscht

Werner Perplies
Praxisnahe Skript-Lösungen und Skript-Programmierung für Adobe InDesign
Aktuelles (Stand: 14.02.2024)
Kundenstimmen

Folder-Objekt mit Pfad als Argument

WernerPerplies
Beiträge gesamt: 2760

3. Apr 2020, 16:02
Bewertung:

gelesen: 2618

Beitrag als Lesezeichen
Hallo pixxxelschubser,

Antwort auf: Ohne diese Angabe ist es vollkommen sinnlos, meiner Vermutung weiter nachzugehen.


Lässt Du uns an Deinen Gedanken teilhaben?

Einen schönen Tag wünscht

Werner Perplies
Praxisnahe Skript-Lösungen und Skript-Programmierung für Adobe InDesign
Aktuelles (Stand: 14.02.2024)
Kundenstimmen

Folder-Objekt mit Pfad als Argument

WernerPerplies
Beiträge gesamt: 2760

3. Apr 2020, 16:08
Bewertung:

gelesen: 2617

Beitrag als Lesezeichen
Johannes,

noch eine etwas verrückte Idee:

$.current = Folder("DeinPfad");
$.current.getFiles();

Einen schönen Tag wünscht

Werner Perplies
Praxisnahe Skript-Lösungen und Skript-Programmierung für Adobe InDesign
Aktuelles (Stand: 14.02.2024)
Kundenstimmen

Folder-Objekt mit Pfad als Argument

WernerPerplies
Beiträge gesamt: 2760

3. Apr 2020, 18:48
Bewertung:

gelesen: 2594

Beitrag als Lesezeichen
Hallo Johannes,

noch einmal:

Code
$.current = Folder("//vmware-host/Shared Folders"); 
$.current.getFiles();


funktioniert bei mir nicht.

Code
$.current = "//vmware-host/Shared Folders"; 
$.current.getFiles();


funktioniert bei mir nicht.

Code
$.current = "//vmware-host/Shared Folders"; 
var /*Folder*/folder = Folder($.current);
folder.getFiles();


funktioniert bei mir.

Code
var /*String*/folder = "//vmware-host/Shared Folders"; 
/*Folder*/ folder = Folder(folder);
folder.getFiles();


funktioniert bei mir.

Einen schönen Tag wünscht

Werner Perplies
Praxisnahe Skript-Lösungen und Skript-Programmierung für Adobe InDesign
Aktuelles (Stand: 14.02.2024)
Kundenstimmen

Folder-Objekt mit Pfad als Argument

J.Puff
Beiträge gesamt: 236

4. Apr 2020, 12:48
Bewertung:

gelesen: 4949

Beitrag als Lesezeichen
Moin Werner,
danke für die weiteren Tests und Vorschläge.

Habe alle durchgespielt, leider alle ergebnislos.

Ein schönes Wochenende wünscht,
Johannes.

Folder-Objekt mit Pfad als Argument

WernerPerplies
Beiträge gesamt: 2760

4. Apr 2020, 15:00
Bewertung:

gelesen: 4936

Beitrag als Lesezeichen
Moin Johannes,

Antwort auf: danke für die weiteren Tests und Vorschläge.

Da nich für.
Antwort auf: Habe alle durchgespielt, leider alle ergebnislos.

Dann sehe ich ohne Zugriff auf Deinen Rechner für mich keine Möglichkeit mehr, das Rätsel zu lösen.

Dir auch ein schönes Wochenende.

Einen schönen Tag wünscht

Werner Perplies
Praxisnahe Skript-Lösungen und Skript-Programmierung für Adobe InDesign
Aktuelles (Stand: 14.02.2024)
Kundenstimmen