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
13
  • 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. Mar 8, 2018 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, 2018 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, 2018 at 21:27
  • @pensono that guide does say "if necessary"... did you find it to be necessary?
    – Mokubai
    Mar 8, 2018 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, 2018 at 22:18

2 Answers 2

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!

3
  • Windows 7 uses Windows Explorer while Windows 10 is File Explorer hence the difference in behavior
    – Ramhound
    Mar 9, 2018 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. Mar 9, 2018 at 0:38
  • Yes, it’s intentional, was pointing out a base explanation.
    – Ramhound
    Mar 9, 2018 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.

6
  • Closing and reopening explorer didn't work, although renaming it to "3000a.dll" and then to "PS3000a.dll" did
    – pensono
    Mar 8, 2018 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, 2018 at 21:26
  • Maybe it makes a difference that the file in question is on a USB drive
    – pensono
    Mar 8, 2018 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, 2018 at 21:29
  • Navigating to a different folder and back doesn't show the correct name either :/
    – pensono
    Mar 8, 2018 at 21:32

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .