Unsere Dokumentdateien sind auf neue Server mit längeren Verzeichnisnamen umgezogen. Bei einigen Dateien sind die Gesamtpfade jetzt zu lang – Windows kommt damit nicht zurecht. Ich kann die Dateien auch nicht mehr umbenennen oder verschieben. Was kann ich da tun?
Diese Beschreibung richtet sich an Administratoren.
Ursache
Der vollständige Dateipfad mit Laufwerk, allen Verzeichnissen und dem Namen mit Endung darf maximal ca. 250 Zeichen lang sein. Durch das Kopieren ganzer Verzeichnisstrukturen können Dateien mit zu langen Pfaden entstehen. Das Dateisystem erlaubt zwar längere Namen, die Windows Shell, über welche die Programme wie der Windows Explorer auf die Dateien zugreifen, ist aber von der Zeichenbeschränkung betroffen.
Zum Beispiel: Die Dateien waren bisher unter „G:\Daten\“ abgelegt. Einige Dateien hatten bereits einen Pfad mit der zulässigen Gesamtlänge. Das gesamte Daten-Verzeichnis wurde verschoben und ist jetzt unter „\\Server\Freigabe\Verzeichnis\Daten\“ zu erreichen. Es sind 25 Zeichen hinzugekommen.
Wie viele Zeichen sind genau erlaubt?
Wenn man nach der maximalen Länge sucht, findet man einige unterschiedliche Antworten: 247, 255, 260 oder sogar über 30.000 Zeichen. 260 ist der Wert der Windows-Variablen MAX_PATH, die aber zusätzlich zum Pfad noch Anführungszeichen, <, > und das NULL-Zeichen am Stringende berücksichtigt und eher für Entwickler interessant ist. 32.767 Zeichen sind im NTFS-Dateisystem erlaubt. Die Windows Shell begrenzt auf 255 Zeichen – dies ist für Software wie den Windows Explorer relevant. Und vorhin selbst ausprobiert unter Windows 10 mit dem Explorer auf der lokalen Festplatte: mehr als 247 Zeichen sind nicht möglich.
Lösungsmöglichkeit
Wir müssen einen Zugriffspfad schaffen, der die maximale Zeichenanzahl nicht überschreitet. Danach können die Dateien verschoben oder der Name gekürzt werden, um wieder über den normalen Pfad zugreifen zu können.
Prüfen Sie bei Netzlaufwerken vorab, ob das Problem durch einen Freigabenamen mit kürzeren Texten behoben werden kann.
Beispiel
Schauen Sie sich folgenden Screenshot des Windows-Explorers an:
Das Verzeichnis „C:\Temp\0123…789\Mein Unterverzeichnis\“ hat insgesamt 234 Zeichen. Enthalten ist die Datei „Meine Beispieldatei im sehr tiefen Verzeichnis.txt“, insgesamt also 284 Zeichen und somit zu lang. Die Datei lässt sich im Explorer weder umbenennen noch kopieren oder verschieben.
Wir nutzen den Befehl subst, um einen Laufwerksbuchstaben für ein Unterverzeichnis zu definieren:
- Markieren Sie, wie oben abgebildet, „Mein Unterverzeichnis“ im Windows Explorer. Klicken Sie dann in die Explorer-Adressleiste und kopieren Sie den Gesamtpfad mit Strg+C in die Zwischenablage.
- Öffnen Sie die Eingabeaufforderung, beispielsweise „cmd“ im Suchfeld der Taskleiste eingeben.
- Schreiben Sie
"subst Y: "
in die Eingabeaufforderung und fügen Sie den Pfad mit Strg+V aus der Zwischenablage ein.
Der Pfad muss hier in Anführungszeichen gesetzt werden, weil er Leerzeichen beinhaltet. In älteren Windows-Versionen funktioniert die Kurztaste Strg+V nicht. Klicken Sie dann oben links im Fenster der Eingabeaufforderung auf das Fenstericon und wählen Sie im Systemmenü Bearbeiten | Einfügen.
Bestätigen Sie mit der Eingabetaste. - Wechseln Sie im Explorer zum Laufwerk Y: und benennen Sie die Datei um – beispielsweise in „Meine Datei.txt“. Sie müssen mindestens die Zeichen entfernen, die zuvor zu viel waren.
- Anschließend können Sie das Laufwerk wieder entfernen:
subst Y: /d
Eventuell ist der Pfad immer noch zu lang, wenn Sie den Laufwerksbuchstaben auf das unterste Verzeichnis setzen. In so einem Fall den subst-Befehl auf ein übergeordnetes Verzeichnis anwenden.
Office Manager DMS-Anwender
Nach einem Umzug der Dokumentdateien auf einen neuen Server haben Sie die Archivdaten mit dem Menübefehl
korrigiert. Einige Datensätze wurden aber nicht angepasst, weil die Pfade zu lang wurden.Diese Situation kann nur eintreten, wenn Sie die Dokumentdateien manuell verschoben haben.
Folgendes Vorgehen ist empfohlen:
- Erstellen Sie, wie oben beschrieben, einen Laufwerksbuchstaben für ein Unterverzeichnis. Beispielsweise „Y:“ für „\\Server\Freigabe\Office Manager DMS\Dokumente\“.
- Erstellen Sie eine Abfrage (Suche) nach den Dokumenten, die im ersten Durchlauf nicht angepasst werden konnten: Menü mit dem alten Pfad.
- Führen Sie so aus, dass die betroffenen Dokumente über den Laufwerksbuchstaben erreicht werden.
- Wählen Sie im Menü Dokument. und wechseln Sie zur Seite
- Bei Dokumentenverzeichnis sollte bereits der neue Pfad eingestellt sein. Holen Sie dies bitte nach, falls noch nicht geschehen. Deaktivieren Sie die Option Änderungen der Dateinamen durch Benutzer zulassen und aktivieren Sie Vorgabe gilt auch für bestehende Dateien. Nach Durchführung der Änderungen können Sie diese beiden Optionen wieder anders einstellen.
- Menü . Geben Sie den Laufwerksbuchstaben mit Doppelpunkt ein. Es werden alle Dokumente gesucht, dessen Dateipfad mit dem gesuchten Text beginnen.
- Erstes Dokument markieren, Menü OK klicken. Das Programm ermittelt jetzt den Dateipfad anhand der Einstellungen neu und verschiebt diese entsprechend (wenn Einstellung Vorgabe gilt auch für bestehende Dateien aktiviert). Hierbei wird der Pfad automatisch auf die zulässige Länge gekürzt. wählen und gleich wieder
- Wiederholen Sie Schritt 6 für alle betroffenen Dokumente. Sind dies sehr viele? Dann beachten Sie Alle Dateien an neue Einstellung anpassen.
Habe Eingbeauffordg mit Adminirecht geöffnet, bin dem Beispiel gefolgt, aber keinerlei Erfolg erzielt.Laufwerk y: wie im Beispiel wird nicht eröffnet.Kein Hinweis im Explo. Was kann ich noch tun. Danke vielmals für Hilfe!
Windows hat hier noch eine Besonderheit: wenn Sie mit dem Admin einen Laufwerksbuchstaben definieren, ist dieser für den normalen Anwender nicht unbedingt sichtbar.
Versuchen Sie die Eingabeaufforderung ohne Adminrechte.
Oder melden Sie sich im Windows mit dem Konto Administrator an, bevor Sie die o. g. Schritte durchführen. Der Explorer läuft dann auch im Kontext des Admin-Kontos.
Im Text ist die Reihenfolge der Parameter nach dem subst-Befehl vertauscht: Zuerst muss das neue Laufwerk genannt werden, danach der alte Pfad. Im Screenshot ist es korrekt wiedergegeben.
Danke für den Hinweis, ist korrigiert.