Não é possível renomear o arquivo DLL no Windows

Não é possível renomear o arquivo DLL no Windows

eu baixei oSDK do PicoScope, e estou tentando renomear uma das DLLs (de acordo com suaguia do programador p.5). No entanto, o Windows 10 não me permite fazer isso.

Estou tentando alterar o nome do arquivo de ps3000a.dllpara PS3000a.dll.

O arquivo está localizado em uma unidade USB FAT32.

Existe alguma razão pela qual isso não funciona?

GIF do problema


Também parece não funcionar via linha de comando. 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

Responder1

FAT32é umsistema de arquivos que não diferencia maiúsculas de minúsculas. Como tal, dois arquivos com o mesmo nome diferindo apenas no caso de não serem permitidos. Por exemplo, você não pode ter dois arquivos nomeados PS3000a.dlle ps3000a.dllna mesma pasta.

Portanto, parece que sua tentativa de renomear o arquivo PS3000a.dllfalha ps3000a.dllporque o Windows 10 sabevocê não está realmente alterando o nome do arquivo. No entanto, se você primeiro renomear o arquivo para ter um nome distinto,entãorenomeie-o uma segunda vez para usar o caso pretendido, funciona.

Curiosamente, este não é o caso do Windows 7. Aqui está a operação de renomeação de arquivos no Process Monitor. A operação é idêntica em todos os aspectos no Windows 10 e 7; o ReplaceIfExistssinalizador é falso e o resultado é SUCESSO em ambos:

insira a descrição da imagem aqui

No entanto, comparando os rastreamentos completos apenas a caixa do Windows 7 segue a SetRenameInformationFileoperação com uma WriteFileoperação:

Janelas 7 insira a descrição da imagem aqui

Janelas 10 insira a descrição da imagem aqui

O Windows 10 simplesmente não grava as informações atualizadas no sistema de arquivos!

Responder2

Quando o novo nome difere do nome antigo apenas pelas letras maiúsculas, o Windows Explorer mostrará as letras maiúsculas originais. Se você sair da instância do Explorer e reiniciá-lo, volte para a pasta e verá a nova capitalização.

informação relacionada