Windows uses two different layers for file names:
- NTFS (the file system) allows names with trailing spaces or periods.
- The Win32 API (what Explorer, cmd, and most tools use) treats trailing spaces/periods as invalid and silently strips them.
So a folder physically named two. can exist on disk, but Win32-based tools see it as two and then fail with errors like "Could not find this item" when trying to open/rename/delete it. This is why Explorer, cmd (ren), and PowerShell could not work with the folder, while 7-Zip (which uses lower-level APIs) could.
There is a native workaround using Win32’s extended path syntax (\\?\) that lets commands bypass the usual name normalization. For example, from an elevated Command Prompt:
ren "\\?\C:\full\path\to\two." two
Or to delete:
del "\\?\C:\full\path\to\two."
rd "\\?\C:\full\path\to\two."
This \\?\ prefix tells Windows to pass the path directly to NTFS without stripping the trailing period, so the operation succeeds.
The behavior is consistent with how NTFS and Win32 handle invalid or reserved names and trailing characters; Explorer and standard command-line tools cannot reliably work with such names, which is why third-party tools (or the \\?\ syntax) are needed.
References: