Was sind diese Windows-Dateinamentransformationen?

Was sind diese Windows-Dateinamentransformationen?

ich verwende Windows 7 x64.
Wenn ich mit der rechten Maustaste auf einen Ordner namens C:\Longer than (3)„Senden an“ klicke und ihn an eine .ahk-Datei sende, die einfach die empfangenen Argumente anzeigt, wird angezeigt C:\LONGER~3. Dasselbe passiert mit fast allen Dateien, zum Beispiel C:\Новый текстовый документ.txtwird aus → C:\700C~1.TXT.

Wie konvertiere ich diese Pfade in normale?Und was sind diese Pfadkonvertierungen?

Antwort1

Das nennt man 8.3 Dateiname:

Ein 8.3-Dateiname (auch Kurzdateiname oder SFN genannt) ist eine Dateinamenkonvention, die von alten DOS-Versionen und Microsoft Windows-Versionen vor Windows 95 und Windows NT 3.5 verwendet wurde. Er wird auch in modernen Microsoft-Betriebssystemen als alternativer Dateiname zum Langdateinamen verwendet, um die Kompatibilität mit älteren Programmen zu gewährleisten.
...
Der gekürzte Name wird dann auf die ersten 6 Buchstaben seines Basisnamens gekürzt, gefolgt von einer Tilde, einer einzelnen Ziffer, einem Punkt . und den ersten 3 Zeichen der Erweiterung.

Die Ziffer ist nur ein Zähler. Für C:\LONGER~3haben oder hatten Sie möglicherweise 3 Dateien, die mit begannen C:\LONGER.

Dieses Format ermöglicht die Konvertierung von Dateinamen in ein Format, das keine Sonderzeichen und insbesondere keine Leerzeichen enthält. Es ist sehr nützlich, um Dateien zu löschen, deren Namen unsichtbare Sonderzeichen enthalten, oder um sie als Parameter zu übergeben, die keine Leerzeichen enthalten (die sonst auf das erste Leerzeichen gekürzt werden könnten).

Es besteht keine funktionale Notwendigkeit, diese Namen in das lange Format zu konvertieren, da sie genauso gut funktionieren wie die langen.

Mehrere Möglichkeiten zum Konvertieren von 8.3-Namen in das Langformat finden Sie im Beitrag
Wie kann ich einen Windows-Kurznamenpfad in einem Batch-Skript in lange Namen umwandeln?.

Antwort2

Soweit ich weiß, kann man den ursprünglichen Dateinamen nicht abrufen. Aber man kann diese Option mit folgendem Befehl deaktivieren:

fsutil.exe 8dot3name set D: 1

Dadurch wird es für die Festplatte deaktiviert D. Um es systemweit zu deaktivieren, verwenden Sie einen Befehl wie:

fsutil.exe behavior set disable8dot3 1

PS Nicht sicher, ob dieser Befehl in Windows 7 verfügbar ist

verwandte Informationen