alexdgg
Goto Top

8dot3 verweise in NTFS ändern

Hallo Leute,

gibt es eine Möglichkeit die von NTFS automatisch generierten 8dot3 Dateinamen für FAT16 unterstützung für einen Datei mitels CMD zu ändern.

z.B.: Dateiname: testdatei.txt
8dot3-Name: testda~1.txt
ändern in: testda~2.txt

Content-ID: 114940

Url: https://administrator.de/contentid/114940

Ausgedruckt am: 26.11.2024 um 10:11 Uhr

77559
77559 29.04.2009 um 12:57:21 Uhr
Goto Top
Da das System die 8dot3 Namen von langen Dateinamen mit gleichem Anfang numerisch aufsteigend vergibt höchstens durch Copy/Rename Vorgänge.
gezielt einen bestimmten 8dot3 Namen zuzuweisen ist AFAIK nicht möglich.

Nicht einmal diese Folge ist (in einem leeren Verzeichnis) erfolgreich
echo testtesttet>testdatei.txt
dir  /X
copy testdatei.txt TESTD~2.TXT
dir  /X
del testdatei.txt
ren "TESTD~2.TXT" Testdatei.txt  
dir /x

Aber wer braucht sowas wofür?
alexdgg
alexdgg 29.04.2009 um 13:13:39 Uhr
Goto Top
Da, wie du schon richtig gesagt hast das System die Dateinamen vergibt und dies nicht eine Eigenschaft der Datei ist, gibt es bei mir ein Problem beim Kopieren von Dateien von einem Server auf einem anderen.

Folgender Fall mein Sicherungsprogramm (in Java geschrieben) arbeitet folgenden Ablauf ab:
1. In dem Quellverzeichnis existiert die Dateien testdatei.txt und testda~1.txt wobei der 8dot3 Name auf dem Quellserver der Datei testdatei.txt -> testda~2.txt ist.
2. mein Sicherungsprogramm Kopiert die Datei testdatei.txt und das System vergibt automatisch den 8dot3 Namen testda~1.txt.
3. mein Sicherungsprogramm kopiert die Datei testda~1.txt vom Quellserver auf den Zielserver, da der 8dot3 Name testda~1.txt auf dem Zeilserver aber bereits existiert und zwar für die Datei testdatei.txt, wird diese Datei mit dem Inhalt von testda~1.txt überschrieben.

Defacto habe ich mir den Inhalt meiner Datei testdatei.txt mit dem Inhalt einer völlig Fremde Datei überschrieben. Und das nur, da das System einen neuen 8dot3 Namen vergeben hat.
77559
77559 29.04.2009 um 15:18:29 Uhr
Goto Top
Zitat von @alexdgg:
Defacto habe ich mir den Inhalt meiner Datei testdatei.txt mit dem Inhalt einer völlig Fremde Datei überschrieben. Und das nur, da das System einen neuen 8dot3 Namen vergeben hat.

Wenn das für dich praktikabel ist schalte sie ab.
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Contrl\FileSystem
  NtfsDisable8dot3NameCreation REG_DWORD 0x1

Wobei mir das Vorhandensein der 8.3 schon öfter geholfen hat,
zerschossene Lange Dateinamen zu löschen.

Es gibt doch Tools, zumindest in Einzelfällen könnte SetSFN helfen.

Gruß
LotPings
alexdgg
alexdgg 29.04.2009 um 16:10:40 Uhr
Goto Top
Zitat von @77559:
> HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Contrl\\FileSystem
>   NtfsDisable8dot3NameCreation REG_DWORD 0x1
> 
Dieser Eintrag glid leider nur für Dateien die nach dieser Änderung in der Reg. angelegt werden für Dateien die vorher schon vorhanden sind bleiben die 8dot3 einträger bestehen.

SetSFN.exe funktioniert leider nicht mit Win2k Server