1

I downloaded the PicoScope SDK, and I am trying to rename one of the DLLs (according to their programmer's guide p.5). However, Windows 10 won't let me do this.

I'm trying to change the file name from ps3000a.dll to PS3000a.dll.

The file is located on a FAT32 USB drive.

Is there any reason why this doesn't work?

GIF of the problem


It doesn't seem to work via command line either. 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
  • Maybe I'm missing something but your gif makes it look like you're only trying to change the "ps" to "PS" ? If so, it's not necessary. Windows explorer knows it's the same thing, so it leaves it unchanged. – Bill Hileman Mar 8 '18 at 21:17
  • 2
    Windows is case-insensitive by default. Have you tried renaming the file to something unique and then renaming it back to what you want it to be? – Mokubai Mar 8 '18 at 21:18
  • @Mokubai That worked. I'm not even sure why the programmer's guide mentions the casing of the name – pensono Mar 8 '18 at 21:27
  • @pensono that guide does say "if necessary"... did you find it to be necessary? – Mokubai Mar 8 '18 at 21:47
  • @Mokubai I haven't found it to be necessary. I was trying to change the name and I found it interesting that I couldn't. – pensono Mar 8 '18 at 22:18
1

FAT32 is a case-insensitive filesystem. As such two files with the same name differing only in case isn't permitted. For example, you can't have two files named PS3000a.dll and ps3000a.dll in the same folder.

Therefore it seems that your attempt to rename the file PS3000a.dll to ps3000a.dll fails because Windows 10 knows you're not really changing the filename. However, if you first rename the file to have a distinct name, then rename it a second time to use the case you intend, it works.

Curiously this isn't the case on Windows 7. Here's the file rename operation in Process Monitor. The operation is identical in all respects on Windows 10 and 7; the ReplaceIfExists flag is False and the Result is SUCCESS on both:

enter image description here

However, comparing the full traces only Windows 7 box follows the SetRenameInformationFile operation with a WriteFile operation:

Windows 7 enter image description here

Windows 10 enter image description here

Windows 10 simply doesn't write the updated information to the file system!

|improve this answer|||||
  • Windows 7 uses Windows Explorer while Windows 10 is File Explorer hence the difference in behavior – Ramhound Mar 9 '18 at 0:28
  • I don't see an explanation in that observation alone. The fact File Explorer came from Windows Explorer suggests it's plausible that any differences would be intentional. – I say Reinstate Monica Mar 9 '18 at 0:38
  • Yes, it’s intentional, was pointing out a base explanation. – Ramhound Mar 9 '18 at 0:39
0

When the new name differs from the old name only by capitalization then Windows Explorer will show the original capitalization. If you quit the Explorer instance and relaunch it, go back to the folder, then you will see the new capitalization.

|improve this answer|||||
  • Closing and reopening explorer didn't work, although renaming it to "3000a.dll" and then to "PS3000a.dll" did – pensono Mar 8 '18 at 21:23
  • In my experience, I have had the exact same issue, renaming, then relaunching Explorer was all that was needed. – headkase Mar 8 '18 at 21:26
  • Maybe it makes a difference that the file in question is on a USB drive – pensono Mar 8 '18 at 21:28
  • Also, @pensono navigating to a different folder and then navigating back also works. USB shouldn't make a difference though. – headkase Mar 8 '18 at 21:29
  • Navigating to a different folder and back doesn't show the correct name either :/ – pensono Mar 8 '18 at 21:32

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.