5 ms·
And now it's \Users, presumably because after 20 years, Microsoft gave up?
by toast0 2y ago
And now it's \Users, presumably because after 20 years, Microsoft gave up?
- hwc 2y agoOr someone got tired of typing long paths.
- Uvix 2y agoThey changed from \Documents and Settings to \Users in Vista, alongside other profile rejiggering (e.g. introducing AppData folders). By that point software had either been fixed or would never be fixed, so keeping a space in the name wasn't particularly useful.
- rcxdude 2y agoIt's still very common for usernames to have spaces, though.
- alterom 2y agoAnd now it's \Users, presumably because after 20 years, Microsoft gave up? Only if you assume that people rarely have spaces in their Windows login names (e.g. "Joe Smith"). Either that, or Windows users have learned to not be scared of spaces in filenames, usernames, and their own literal names.
- numpad0 2y agoWindows set up with Microsoft Account uses abbreviated e-mail for user names, because UTF-8 breaks apps, including many East Asian apps. non-Western Windows users always knew never to use anything outside ASCII for usernames, passwords, or any programmatically used identifiers. It's English users that haven't learned it.
- alterom 2y agoSure, but space is an ASCII character.
- throw16180339 2y agoIIRC, they changed it to get more value out of the 260 character MAX_PATH. I know there was some sort of manifest to enable longer paths, but I'm not sure what the current status is.
- LegionMammal978 2y agoThe status quo is that officially, you still have to both set a registry key (or equivalently, set an option in the Group Policy Editor) and add an element to each application manifest. The official workaround at runtime is to use the "\\?\" prefix with an absolute path to create an unrestricted verbatim pathname. For instance, the fs::canonicalize() function in Rust will always return such a pathname, to many programmers' dismay, since outside tools often choke on them. The unofficial workaround is to set the undocumented IsLongPathAwareProcess bit in the process's PEB. The Go runtime does this, but silently falls back to "\\?\" prefixes if the Windows version is too old. (Note that in general, canonicalizing paths is safer on Windows than on Unix-like systems, since open directories cannot be renamed.)
- 3eb7988a1663 2y agoOneDrive breaks that convention. Last two companies I was at, the corporate location was something like "$HOME/OneDrive - $COMPANY". That the two companies had the same format tells me it is a default and/or suggested practice for some reason.