DLL-Datei kann unter Windows nicht umbenannt werden

DLL-Datei kann unter Windows nicht umbenannt werden

Ich habe diePicoScope SDK, und ich versuche, eine der DLLs umzubenennen (entsprechend ihrerProgrammierhandbuch S. 5). Windows 10 lässt dies jedoch nicht zu.

Ich versuche, den Dateinamen von ps3000a.dllin zu ändern PS3000a.dll.

Die Datei befindet sich auf einem FAT32-USB-Laufwerk.

Gibt es einen Grund, warum das nicht funktioniert?

GIF des Problems


Auch über die Kommandozeile scheint es nicht zu funktionieren. Git Bash:

MINGW64 /f/SDK/lib
$ ls | grep 3000a.dll
ps3000a.dll*

MINGW64 /f/SDK/lib
$ mv ps3000a.dll PS3000a.dll

MINGW64 /f/SDK/lib
$ ls | grep 3000a.dll
ps3000a.dll*

Power Shell:

PS F:\SDK\lib> dir | findstr 3000a.dll
-a----        7/11/2017   3:05 PM        2803016 ps3000a.dll
PS F:\SDK\lib> mv ps3000a.dll PS3000a.dll
PS F:\SDK\lib> dir | findstr 3000a.dll
-a----        7/11/2017   3:05 PM        2803016 ps3000a.dll

Antwort1

FAT32ist einGroß-/Kleinschreibung nicht berücksichtigendes Dateisystem. Daher sind zwei Dateien mit demselben Namen, die sich nur in der Groß- und Kleinschreibung unterscheiden, nicht zulässig. Sie können beispielsweise nicht zwei Dateien mit demselben Namen PS3000a.dllim ps3000a.dllselben Ordner haben.

Daher scheint Ihr Versuch, die Datei umzubenennen, PS3000a.dllfehlzuschlagen ps3000a.dll, da Windows 10 weißSie ändern den Dateinamen nicht wirklichWenn Sie die Datei jedoch zunächst umbenennen, um einen eindeutigen Namen zu erhalten,DannBenennen Sie es ein zweites Mal um, um den gewünschten Fall zu verwenden. Es funktioniert.

Merkwürdigerweise ist dies unter Windows 7 nicht der Fall. Hier ist der Dateiumbenennungsvorgang im Process Monitor. Der Vorgang ist unter Windows 10 und 7 in jeder Hinsicht identisch; das ReplaceIfExistsFlag ist „False“ und das Ergebnis ist in beiden Fällen „SUCCESS“:

Bildbeschreibung hier eingeben

Beim Vergleich der vollständigen Ablaufverfolgungen ist jedoch nur zu erkennen, dass die Windows 7-Box den SetRenameInformationFileVorgang mit einem WriteFileVorgang verfolgt:

Windows 7 Bildbeschreibung hier eingeben

Windows 10 Bildbeschreibung hier eingeben

Windows 10 schreibt die aktualisierten Informationen einfach nicht in das Dateisystem!

Antwort2

Wenn sich der neue Name vom alten Namen nur durch die Groß- und Kleinschreibung unterscheidet, zeigt der Windows Explorer die ursprüngliche Groß- und Kleinschreibung an. Wenn Sie den Explorer beenden und neu starten und zum Ordner zurückkehren, sehen Sie die neue Groß- und Kleinschreibung.

verwandte Informationen