[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:
(7590 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: 5316

31. Mär 2020, 21:00
Beitrag # 2 von 62
Beitrag ID: #574693
Bewertung:
(7574 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:
(7560 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:
(7512 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:
(7481 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:
(7474 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:
(7468 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:
(7452 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:
(7445 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: 5316

1. Apr 2020, 11:45
Beitrag # 10 von 62
Beitrag ID: #574709
Bewertung:
(7436 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:
(7425 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:
(7426 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:
(7418 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:
(7411 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:
(7405 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Bitteschön:




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

Folder-Objekt mit Pfad als Argument

Uwe Laubender
Beiträge gesamt: 5316

1. Apr 2020, 12:47
Beitrag # 16 von 62
Beitrag ID: #574716
Bewertung:
(2584 mal gelesen)
URL zum Beitrag
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.


als Antwort auf: [#574712]

Folder-Objekt mit Pfad als Argument

WernerPerplies
Beiträge gesamt: 2762

1. Apr 2020, 12:47
Beitrag # 17 von 62
Beitrag ID: #574717
Bewertung:
(2584 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Dankeschön :-)

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



als Antwort auf: [#574715]

Folder-Objekt mit Pfad als Argument

J.Puff
Beiträge gesamt: 238

1. Apr 2020, 12:53
Beitrag # 18 von 62
Beitrag ID: #574719
Bewertung:
(2581 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen



als Antwort auf: [#574717]
Anhang:
Bildschirmfoto.png (45.9 KB)

Folder-Objekt mit Pfad als Argument

WernerPerplies
Beiträge gesamt: 2762

1. Apr 2020, 13:00
Beitrag # 19 von 62
Beitrag ID: #574720
Bewertung:
(2575 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
verwende, wie in meinem Beispielskript:

Code
fol1.selectDlg(); 



als Antwort auf: [#574715]

Folder-Objekt mit Pfad als Argument

J.Puff
Beiträge gesamt: 238

1. Apr 2020, 13:09
Beitrag # 20 von 62
Beitrag ID: #574721
Bewertung:
(2565 mal gelesen)
URL zum Beitrag
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!


als Antwort auf: [#574720]

Folder-Objekt mit Pfad als Argument

WernerPerplies
Beiträge gesamt: 2762

1. Apr 2020, 13:21
Beitrag # 21 von 62
Beitrag ID: #574723
Bewertung:
(2559 mal gelesen)
URL zum Beitrag
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.


als Antwort auf: [#574721]

Folder-Objekt mit Pfad als Argument

J.Puff
Beiträge gesamt: 238

1. Apr 2020, 14:15
Beitrag # 22 von 62
Beitrag ID: #574726
Bewertung:
(2541 mal gelesen)
URL zum Beitrag
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.


als Antwort auf: [#574723]

Folder-Objekt mit Pfad als Argument

Uwe Laubender
Beiträge gesamt: 5316

1. Apr 2020, 14:25
Beitrag # 23 von 62
Beitrag ID: #574727
Bewertung:
(2536 mal gelesen)
URL zum Beitrag
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?


als Antwort auf: [#574721]

Folder-Objekt mit Pfad als Argument

WernerPerplies
Beiträge gesamt: 2762

1. Apr 2020, 14:27
Beitrag # 24 von 62
Beitrag ID: #574728
Bewertung:
(2534 mal gelesen)
URL zum Beitrag
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()?


als Antwort auf: [#574726]

Folder-Objekt mit Pfad als Argument

J.Puff
Beiträge gesamt: 238

1. Apr 2020, 14:37
Beitrag # 25 von 62
Beitrag ID: #574729
Bewertung:
(2525 mal gelesen)
URL zum Beitrag
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.


als Antwort auf: [#574728]

Folder-Objekt mit Pfad als Argument

Uwe Laubender
Beiträge gesamt: 5316

1. Apr 2020, 15:12
Beitrag # 26 von 62
Beitrag ID: #574730
Bewertung:
(2519 mal gelesen)
URL zum Beitrag
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. )


als Antwort auf: [#574729]

Folder-Objekt mit Pfad als Argument

J.Puff
Beiträge gesamt: 238

1. Apr 2020, 15:17
Beitrag # 27 von 62
Beitrag ID: #574731
Bewertung:
(2515 mal gelesen)
URL zum Beitrag
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!


als Antwort auf: [#574730]

Folder-Objekt mit Pfad als Argument

WernerPerplies
Beiträge gesamt: 2762

1. Apr 2020, 15:19
Beitrag # 28 von 62
Beitrag ID: #574732
Bewertung:
(2515 mal gelesen)
URL zum Beitrag
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


als Antwort auf: [#574729]

Folder-Objekt mit Pfad als Argument

J.Puff
Beiträge gesamt: 238

1. Apr 2020, 15:24
Beitrag # 29 von 62
Beitrag ID: #574733
Bewertung:
(2507 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Danke, aber auch hier gibt var _fileArr = folder.getFiles(); nur ein leeres Array zurück.


als Antwort auf: [#574732]

Folder-Objekt mit Pfad als Argument

WernerPerplies
Beiträge gesamt: 2762

1. Apr 2020, 15:31
Beitrag # 30 von 62
Beitrag ID: #574734
Bewertung:
(2502 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Dann teste mal dies:
Code
alert(File(Folder("\\\\Mac\\Home\\Documents\\Muster-PDF").folder + "/ExistierenderDateiname.Extension").exists) 



als Antwort auf: [#574733]

Folder-Objekt mit Pfad als Argument

J.Puff
Beiträge gesamt: 238

1. Apr 2020, 15:37
Beitrag # 31 von 62
Beitrag ID: #574735
Bewertung:
(4314 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Das Ergebnis ist: false

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



als Antwort auf: [#574734]

Folder-Objekt mit Pfad als Argument

WernerPerplies
Beiträge gesamt: 2762

1. Apr 2020, 15:46
Beitrag # 32 von 62
Beitrag ID: #574736
Bewertung:
(4309 mal gelesen)
URL zum Beitrag
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.


als Antwort auf: [#574735]

Folder-Objekt mit Pfad als Argument

J.Puff
Beiträge gesamt: 238

1. Apr 2020, 15:53
Beitrag # 33 von 62
Beitrag ID: #574737
Bewertung:
(4304 mal gelesen)
URL zum Beitrag
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??


als Antwort auf: [#574736]

Folder-Objekt mit Pfad als Argument

WernerPerplies
Beiträge gesamt: 2762

1. Apr 2020, 15:57
Beitrag # 34 von 62
Beitrag ID: #574738
Bewertung:
(4297 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Könntest Du mich mal anrufen?


als Antwort auf: [#574737]

Folder-Objekt mit Pfad als Argument

Uwe Laubender
Beiträge gesamt: 5316

1. Apr 2020, 16:02
Beitrag # 35 von 62
Beitrag ID: #574739
Bewertung:
(4289 mal gelesen)
URL zum Beitrag
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?


als Antwort auf: [#574735]

Folder-Objekt mit Pfad als Argument

J.Puff
Beiträge gesamt: 238

1. Apr 2020, 16:46
Beitrag # 36 von 62
Beitrag ID: #574740
Bewertung:
(4277 mal gelesen)
URL zum Beitrag
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!!


als Antwort auf: [#574735]

Folder-Objekt mit Pfad als Argument

pixxxelschubser
Beiträge gesamt: 1708

1. Apr 2020, 20:22
Beitrag # 37 von 62
Beitrag ID: #574744
Bewertung:
(4216 mal gelesen)
URL zum Beitrag
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") );



als Antwort auf: [#574740]

Folder-Objekt mit Pfad als Argument

J.Puff
Beiträge gesamt: 238

1. Apr 2020, 20:27
Beitrag # 38 von 62
Beitrag ID: #574745
Bewertung:
(4210 mal gelesen)
URL zum Beitrag
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


als Antwort auf: [#574744]

Folder-Objekt mit Pfad als Argument

pixxxelschubser
Beiträge gesamt: 1708

1. Apr 2020, 20:29
Beitrag # 39 von 62
Beitrag ID: #574746
Bewertung:
(4206 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Probier's doch bitte aus. Dann sehen wir weiter.
Smile


als Antwort auf: [#574745]

Folder-Objekt mit Pfad als Argument

WernerPerplies
Beiträge gesamt: 2762

2. Apr 2020, 08:06
Beitrag # 40 von 62
Beitrag ID: #574750
Bewertung: |||
(4174 mal gelesen)
URL zum Beitrag
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.


als Antwort auf: [#574745]

Folder-Objekt mit Pfad als Argument

J.Puff
Beiträge gesamt: 238

2. Apr 2020, 09:37
Beitrag # 41 von 62
Beitrag ID: #574753
Bewertung:
(4157 mal gelesen)
URL zum Beitrag
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


als Antwort auf: [#574750]

Folder-Objekt mit Pfad als Argument

WernerPerplies
Beiträge gesamt: 2762

2. Apr 2020, 09:50
Beitrag # 42 von 62
Beitrag ID: #574755
Bewertung:
(4145 mal gelesen)
URL zum Beitrag
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.


als Antwort auf: [#574753]

Folder-Objekt mit Pfad als Argument

J.Puff
Beiträge gesamt: 238

2. Apr 2020, 14:10
Beitrag # 43 von 62
Beitrag ID: #574768
Bewertung:
(4105 mal gelesen)
URL zum Beitrag
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


als Antwort auf: [#574755]

Folder-Objekt mit Pfad als Argument

WernerPerplies
Beiträge gesamt: 2762

2. Apr 2020, 14:48
Beitrag # 44 von 62
Beitrag ID: #574769
Bewertung:
(4099 mal gelesen)
URL zum Beitrag
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".


als Antwort auf: [#574768]

Folder-Objekt mit Pfad als Argument

J.Puff
Beiträge gesamt: 238

2. Apr 2020, 14:56
Beitrag # 45 von 62
Beitrag ID: #574770
Bewertung:
(4092 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Werner,
ja, die Verbindung hatte geklappt, half aber leider nicht:



Mit freundlichen Grüßen


als Antwort auf: [#574769]
Anhang:
Bildschirmfoto.png (92.2 KB)

Folder-Objekt mit Pfad als Argument

WernerPerplies
Beiträge gesamt: 2762

2. Apr 2020, 15:35
Beitrag # 46 von 62
Beitrag ID: #574772
Bewertung:
(2720 mal gelesen)
URL zum Beitrag
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



als Antwort auf: [#574770]

Folder-Objekt mit Pfad als Argument

J.Puff
Beiträge gesamt: 238

3. Apr 2020, 12:27
Beitrag # 47 von 62
Beitrag ID: #574779
Bewertung:
(2684 mal gelesen)
URL zum Beitrag
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


als Antwort auf: [#574772]

Folder-Objekt mit Pfad als Argument

WernerPerplies
Beiträge gesamt: 2762

3. Apr 2020, 12:49
Beitrag # 48 von 62
Beitrag ID: #574780
Bewertung:
(2680 mal gelesen)
URL zum Beitrag
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.


als Antwort auf: [#574779]

Folder-Objekt mit Pfad als Argument

J.Puff
Beiträge gesamt: 238

3. Apr 2020, 14:27
Beitrag # 49 von 62
Beitrag ID: #574782
Bewertung:
(2671 mal gelesen)
URL zum Beitrag
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.


als Antwort auf: [#574780]
Anhang:
NetUse.png (13.9 KB)

Folder-Objekt mit Pfad als Argument

pixxxelschubser
Beiträge gesamt: 1708

3. Apr 2020, 15:13
Beitrag # 50 von 62
Beitrag ID: #574783
Bewertung:
(2658 mal gelesen)
URL zum Beitrag
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?


als Antwort auf: [#574782]

Folder-Objekt mit Pfad als Argument

WernerPerplies
Beiträge gesamt: 2762

3. Apr 2020, 15:27
Beitrag # 51 von 62
Beitrag ID: #574785
Bewertung:
(2654 mal gelesen)
URL zum Beitrag
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.


als Antwort auf: [#574782]

Folder-Objekt mit Pfad als Argument

J.Puff
Beiträge gesamt: 238

3. Apr 2020, 15:28
Beitrag # 52 von 62
Beitrag ID: #574786
Bewertung:
(2648 mal gelesen)
URL zum Beitrag
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


als Antwort auf: [#574783]

Folder-Objekt mit Pfad als Argument

WernerPerplies
Beiträge gesamt: 2762

3. Apr 2020, 15:31
Beitrag # 53 von 62
Beitrag ID: #574787
Bewertung:
(2646 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo pixxxelschubser,

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


als Antwort auf: [#574783]

Folder-Objekt mit Pfad als Argument

J.Puff
Beiträge gesamt: 238

3. Apr 2020, 15:32
Beitrag # 54 von 62
Beitrag ID: #574788
Bewertung:
(2646 mal gelesen)
URL zum Beitrag
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


als Antwort auf: [#574785]

Folder-Objekt mit Pfad als Argument

WernerPerplies
Beiträge gesamt: 2762

3. Apr 2020, 15:38
Beitrag # 55 von 62
Beitrag ID: #574789
Bewertung:
(2640 mal gelesen)
URL zum Beitrag
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! :-)


als Antwort auf: [#574788]

Folder-Objekt mit Pfad als Argument

pixxxelschubser
Beiträge gesamt: 1708

3. Apr 2020, 15:45
Beitrag # 56 von 62
Beitrag ID: #574791
Bewertung:
(2634 mal gelesen)
URL zum Beitrag
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.


als Antwort auf: [#574786]

Folder-Objekt mit Pfad als Argument

WernerPerplies
Beiträge gesamt: 2762

3. Apr 2020, 16:00
Beitrag # 57 von 62
Beitrag ID: #574792
Bewertung:
(2630 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Johannes,

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


als Antwort auf: [#574788]

Folder-Objekt mit Pfad als Argument

WernerPerplies
Beiträge gesamt: 2762

3. Apr 2020, 16:02
Beitrag # 58 von 62
Beitrag ID: #574793
Bewertung:
(2625 mal gelesen)
URL zum Beitrag
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?


als Antwort auf: [#574791]

Folder-Objekt mit Pfad als Argument

WernerPerplies
Beiträge gesamt: 2762

3. Apr 2020, 16:08
Beitrag # 59 von 62
Beitrag ID: #574794
Bewertung:
(2624 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Johannes,

noch eine etwas verrückte Idee:

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


als Antwort auf: [#574788]

Folder-Objekt mit Pfad als Argument

WernerPerplies
Beiträge gesamt: 2762

3. Apr 2020, 18:48
Beitrag # 60 von 62
Beitrag ID: #574799
Bewertung:
(2601 mal gelesen)
URL zum Beitrag
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.


als Antwort auf: [#574794]

Folder-Objekt mit Pfad als Argument

J.Puff
Beiträge gesamt: 238

4. Apr 2020, 12:48
Beitrag # 61 von 62
Beitrag ID: #574812
Bewertung:
(4960 mal gelesen)
URL zum Beitrag
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.


als Antwort auf: [#574799]

Folder-Objekt mit Pfad als Argument

WernerPerplies
Beiträge gesamt: 2762

4. Apr 2020, 15:00
Beitrag # 62 von 62
Beitrag ID: #574813
Bewertung:
(4947 mal gelesen)
URL zum Beitrag
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.


als Antwort auf: [#574812]
X