1

Я скачал PicoScope SDK и пытаюсь переименовать одну из библиотек DLL (в соответствии с руководством программиста стр.5). Тем не менее, Windows 10 не позволит мне сделать это.

Я пытаюсь изменить имя файла с ps3000a.dll на PS3000a.dll .

Файл находится на USB-диске FAT32.

Есть ли причина, почему это не работает?

GIF проблемы


Кажется, он не работает через командную строку. 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*

PowerShell:

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

2 ответа2

1

FAT32 - это нечувствительная к регистру файловая система. Таким образом, два файла с одинаковыми именами, отличающиеся только регистром, запрещены. Например, в одной папке не может быть двух файлов с именами PS3000a.dll и ps3000a.dll .

Поэтому кажется, что ваша попытка переименовать файл PS3000a.dll в ps3000a.dll не удалась, потому что Windows 10 знает, что вы на самом деле не меняете имя файла. Однако, если вы сначала переименуете файл, чтобы получить другое имя, а затем переименуйте его во второй раз, чтобы использовать тот случай, который вы намереваетесь, он работает.

Любопытно, что это не относится к Windows 7. Вот операция переименования файла в Process Monitor. Операция идентична во всех отношениях в Windows 10 и 7; флаг ReplaceIfExists имеет значение False, а результатом является SUCCESS для обоих:

Однако при сравнении полных трассировок только в Windows 7 после операции SetRenameInformationFile следует операция WriteFile :

Windows 7

Windows 10

Windows 10 просто не записывает обновленную информацию в файловую систему!

0

Если новое имя отличается от старого только заглавными буквами, то проводник Windows покажет исходную заглавную букву. Если вы выйдете из экземпляра Explorer и снова запустите его, вернитесь в папку, и вы увидите новую заглавную букву.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .