Pfad zu lang für Dateien in Directory()?Beim Versuch, auf einige Dateien zuzugreifen, bin ich auf das folgende Problem gestoßen:
Aufgrund bestimmter Verzeichnisstrukturen kann der Pfad zum gewünschten Verzeichnis länger als 134 Zeichen sein. Wenn der Pfad 134 Zeichen oder weniger lang ist, kann file in directory() die Dateien im Verzeichnis problemlos auflisten. Ist er jedoch länger als 134 Zeichen (im selben übergeordneten Verzeichnis), ist die Liste leer. Ich habe meine Berechtigungen bereits überprüft und alles ist in Ordnung. Ich kann diese Dateien im Verzeichnis auch nicht finden, wenn ich in JMP Datei->Öffnen verwende. Liegt ein Pufferproblem vor oder vielleicht etwas anderes?
Automatisierung und SkriptingBetreff: Pfad zu lang für Dateien in Directory()?Sind Dateien versteckt? Passiert das nur in diesem speziellen Ordner? Welches Betriebssystem verwenden Sie? Welche JMP-Version verwenden Sie? Wie lang sind Ihre Dateinamen? Sind Sie sicher, dass das Dateiformat richtig eingestellt ist?

Betreff: Pfad zu lang für Dateien in Directory()?Okay, beim Versuch, die Dateien mit "Öffnen" in JMP zu finden, habe ich vergessen, das Dropdown-Menü auf "Alle Dateien" einzustellen. Aber mit dem Skript kann ich sie trotzdem nicht finden. Ich verwende Windows und das passiert nur bei Ordnern, deren Pfad länger als 134 Zeichen ist. Im selben Verzeichnis, aber mit einem Ordner, dessen Name kürzer ist, also der gesamte Pfad kürzer als 134 Zeichen, funktioniert es. Ich verwende die 18pro-Version. Was meinst du mit "Dateiformat ist korrekt eingestellt"?
Betreff: Pfad zu lang für Dateien in Directory()?Das Dropdown-Menü ist das, was ich mit dem Dateiformat meine, da Sie sagten, dass JMPs Öffnen die Dateien nicht sehen konnte. Haben Sie es mit verschiedenen Parametern versucht, mit „Dateien im Verzeichnis“ (Pfad, ) , es gibt auch eine für versteckte Dateien (zumindest laut Skriptindex).
Betreff: Pfad zu lang für Dateien in Directory()?Ja, ich habe bereits alle Optionen ausprobiert, aber ohne Erfolg. Ich denke, das ist nur eine JMP-Einschränkung
Betreff: Pfad zu lang für Dateien in Directory()?Sie können den JMP-Support kontaktieren. Ich hatte bei der Verwendung von „Files In Directory“ kein solches Problem.
Mehr anzeigen...
Names Default To Here(1);
path = "$DOWNLOADS\New folder\New folder (4)\New folder (4)\New folder (4)\New folder (4)\New folder (4)\New folder (4)\New folder (4)\New folder (4)\New folder (4)\New folder (4)\New folder (4)\New folder (4)\New folder (4)\New folder (4)\";
Show(Length(path), Files In Directory(path));
Betreff: Pfad zu lang für Dateien in Directory()?Verrückt
Ja, ich habe sie bereits kontaktiert. Sie sagten, ich kann das Verzeichnis einfach an einen Ort kopieren, an dem der Pfad kürzer ist, und es anschließend löschen
Betreff: Pfad zu lang für Dateien in Directory()?Es tut uns leid, dass dieses Problem bei Ihnen aufgetreten ist. Können Sie uns mitteilen, welche JMP-Version Sie verwenden?
Windows-Pfade sind historisch auf 260 Zeichen für den vollständigen Pfad begrenzt. Möglicherweise kürzen die von uns verwendeten Betriebssystem-APIs die Pfade ab, und die einzige Lösung hierfür ist ein kürzerer Gesamtpfad, wie vorgeschlagen. Oder es liegt ein Fehler in „Dateien im Verzeichnis“ vor.
Kennen Sie die Länge des vollständigen übergeordneten Pfads bis zum problematischen Ordner? Wenn diese Länge (einschließlich Laufwerk und \-Zeichen) + die 134 des von Ihnen aufgezählten Verzeichnisses 260 überschreitet, werden die Namen vom Betriebssystem abgeschnitten.
Falls Sie sich fragen: Wir haben zwar einen Wunsch, in Zukunft lange Dateinamen zu unterstützen, aber das ist recht kompliziert, da lange Pfade anders strukturiert sind als normale Pfade. Sie werden beispielsweise mit \\?\ vorangestellt. Außerdem gibt es eine Menge Code, der sich mit Dateien befasst und neu geschrieben werden müsste. Die Unterstützung langer Namen würde außerdem eine Bearbeitung der Registrierung erfordern, um sie auf dem Computer zu aktivieren.
Betreff: Pfad zu lang für Dateien in Directory()?Ich hatte in der Vergangenheit ein ähnliches Problem (mit anderer Software) und habe es gelöst, indem ich den langen Dateipfad einem Laufwerk mit Buchstaben (z. B. X:) zugeordnet und dann diesen kürzeren Pfad verwendet habe.
Betreff: Pfad zu lang für Dateien in Directory()?Danke für die Antwort. Ich weiß, dass sich das mit JMP nicht so einfach ändern lässt, also keine Skrupel. Ich benutze JMP 18pro, falls das hilft. Wie gesagt, die aktuelle Methode besteht darin, den Ordner an einen anderen Ort zu kopieren, wo der Pfad sehr kurz ist, dann die erforderlichen Schritte auszuführen und ihn anschließend zu löschen. Der übergeordnete Pfad, der nicht funktioniert, ist 134 Zeichen lang, berücksichtigt aber nicht die Tatsache, dass sich der Ordner unter Benutzer->Netzwerk->Laufwerk befindet. Dieser Teil wird im Pfad nicht angezeigt.