Dateinamen zu lang und Windows kann die Dateien nicht öffnen

12

Es gibt eine Reihe von Dateien auf einem Netzwerklaufwerk, auf einem ziemlich tiefen Pfad, und die Verzeichnisse auf den meisten haben lange Namen. Ich denke, dass diese ursprünglich erstellt wurden, als jemand das Stammverzeichnis für diese Gruppe von Dateien von seiner lokalen Arbeitsstation auf das freigegebene Netzwerklaufwerk kopierte und einfügte. Ich stelle mir vor, dass es auf der lokalen Workstation kein Problem gab, die Datei zu öffnen, aber jetzt, da sie sich auf einem längeren Pfad im Netzwerk befinden, kann Windows sie nicht öffnen, wenn ich doppelklicke. Ich habe auch versucht, die Dateien zu kopieren und in etwas kürzeres umzubenennen, aber Windows kann das auch nicht.

TL; DR

Dateien von einer Workstation auf einem (hypothetischen) Pfad wie folgt:

C:\Documents and Settings\SomeUser\Files\RootOfLongFileNames\LongSubdirectoryName1\...\VeryLongAndDescriptiveAndSpecificFilename.xls
-----------------------------------------^

wurden nun wie folgt kopiert und in das Netzwerk eingefügt:

Q:\Dir1\Dir2\ProjectA\FilesForSomething\SomeotherDirectory\Blahblah\RootOfLongFileNames\LongSubdirectoryName1\...\VeryLongAndDescriptiveAndSpecificFilename.xls
---------------------------------------------------------------------^

Und der Pfad ist jetzt zu lang für Windows XP.

Irgendwelche Tipps, wie ich diese Dateien lesen kann?

FrustratedWithFormsDesigner
quelle
Okay ! Schauen Sie sich superuser.com/questions/257472/...
bZezzz
@bZezzz: Das sieht so aus, als würde es Datei für Datei funktionieren, aber ich suche nach etwas, um die ganze Reihe auf einmal zugänglich zu machen. Das Kopieren auf lokale Arbeitsstationen wäre in Ordnung, aber die langen Dateinamen müssen beibehalten werden (sie bieten einen sehr spezifischen Kontext für den Dateiinhalt). Außerdem sind viele Benutzer hier nicht technisch genug, um Dateien über die Befehlszeile zu öffnen. Ihr Vorschlag könnte für mich und eine andere Person funktionieren.
FrustratedWithFormsDesigner

Antworten:

7

Versuchen Sie, den Pfad durch SUBST.EXE zu ersetzen. Es kommt mit Windows:

C:\Users\shufler>subst /?
Associates a path with a drive letter.

SUBST [drive1: [drive2:]path]
SUBST drive1: /D

  drive1:        Specifies a virtual drive to which you want to assign a path.
  [drive2:]path  Specifies a physical drive and path you want to assign to
                 a virtual drive.
  /D             Deletes a substituted (virtual) drive.

Type SUBST with no parameters to display a list of current virtual drives.

Sie möchten einen Laufwerksbuchstaben durch einen der Ordner in der Kette ersetzen:

 C:\>subst X: Q:\Dir1\Dir2\ProjectA\FilesForSomething\SomeotherDirectory\Blahblah\RootOfLongFileNames\LongSubdirectoryName1

Jetzt wird auf dem Laufwerk X: auf den Ordner LongSubdirectoryName1 zugegriffen. Wenn Sie damit fertig sind, können Sie Ihre Ersetzung mit löschensubst X: /D

Wenn Sie dies ständig benötigen, fügen Sie es Ihrem Anmeldeskript hinzu.

Ein anderer Ansatz wäre, ein Laufwerk weiter unten in der Kette abzubilden, von wo auch immer Q: abgebildet wird.

schlurfen
quelle
2
Ich habe mich in letzter Zeit häufig mit diesem Problem befasst und den SUBST-Ansatz verwendet. Zu diesem Zweck habe ich festgestellt, dass das unter ntwind.com/software/utilities/visual-subst.html verfügbare Visual Subst-Tool von unschätzbarem Wert ist.
Yosh m
6

Sie müssen die Verzeichnisnamen im Pfad umbenennen, bis der Name kurz genug ist, damit das Betriebssystem darauf zugreifen kann.

Ich würde zum ersten Ordner navigieren, dessen Namen Sie ändern und in einen einzelnen Buchstaben umbenennen können, und dann dasselbe für jeden nachfolgenden Ordner tun, bis Sie zur erforderlichen Datei gelangen.

In Bezug auf die Notwendigkeit, die Struktur beizubehalten: Es gibt Einschränkungen, innerhalb derer wir an Betriebssystemen arbeiten müssen, und es ist nicht gut, routinemäßig außerhalb dieser Parameter zu arbeiten. Jede schnelle Lösung wird jetzt immer nur ein Patch sein, der in Zukunft erneut ausgeführt werden muss. Eine echte Lösung besteht darin, die Verzeichnisstruktur so zu reorganisieren, dass dieses extrem lange Problem mit dem Ordnerpfad / Dateinamen nicht mehr erforderlich ist.

music2myear
quelle
256 Zeichen.
bZezzz
Nein, sie müssen ein Programm verwenden, das NICHT Windows Explorer ist, da Windows Explorer die Dateisystemspezifikationen nicht kennt und sich träge dafür entscheidet, den kleinsten gemeinsamen Nenner einzuhalten, sodass es beispielsweise unmöglich ist, einfach das vorhandene Stammverzeichnis eines Laufwerks zu kopieren an das Stammverzeichnis eines anderen identischen Laufwerks (in Kapazität, Format usw.), ohne dass PATH TOO LONG-Fehler auftreten.
Triynko
0

EDIT: Ursprünglich habe ich die Verwendung von Robocopy vorgeschlagen, aber dies ist natürlich XP und das hat es nicht vorinstalliert.

Es gibt keine Möglichkeit, "jedem das zu geben, was er will". Wenn der Dateipfad zu lang ist, können Sie keine Dateivorgänge damit ausführen. So wie ich das sehe, haben Sie einige Möglichkeiten:

  1. Befolgen Sie die Schritte der anderen Beiträge und benennen Sie die Verzeichnisse um, bis sie kurz sind. Das Schöne an Computern ist, dass Sie ein Skript schreiben können, um dies nicht nur für Sie zu tun, sondern auch die ursprünglichen Namen zu verfolgen. Selbst mit einem Skript ist dies etwas zeitaufwändig.

  2. Holen Sie sich eine Linux LiveCD. Legen Sie es in den Computer ein und starten Sie von dieser CD. Sehen Sie sich die Windows-Festplatte an, die automatisch als separates Dateisystem bereitgestellt wird. Holen Sie sich alle gewünschten Dateien und legen Sie sie in einem neuen Ordner auf Ihrem Desktop ab. Zippen Sie diesen Ordner und legen Sie ihn auf einer externen Festplatte oder einem USB-Stick ab. Wenn Ihr Netzwerklaufwerk das Zurückkopieren in das Dateisystem ermöglicht, verschieben Sie ihn in ein Verzeichnis der obersten Ebene.

aqua
quelle
Ich habe keine Robokopie installiert und bin mir nicht sicher, ob ich Zugriff darauf habe (es ist ein Arbeitscomputer). Dies klingt auch nach viel Arbeit für jede Datei. Mein Beispiel wurde vereinfacht: Es gibt tatsächlich mehrere Verzeichnisse auf mehreren Ebenen zu tief, die jeweils Dateien enthalten, auf die aufgrund von Problemen mit zu langen Pfaden jetzt nicht mehr zugegriffen werden kann. Ich muss wirklich keine Zeit haben, dies für alle Dateien zu tun, die jeder will.
FrustratedWithFormsDesigner