appDataLocation 和 tempLocation 等位置的路径中是否可以有空格

appDataLocation 和 tempLocation 等位置的路径中是否可以有空格
C:\Users\username\AppData\Roaming
C:\Users\username\AppData\Local\Temp

我正在为 Windows 编写一个应用程序,我的应用程序将经常使用上述这两个位置,为了避免任何意外,我想确定 Windows 是否允许这些位置在其路径中有空格,例如:

C:\Users\user Name\AppData\Roaming
C:\Users\user Name\AppData\Local\Temp

我查阅了一些 MS 文档,但找不到这个具体的信息。

答案1

他们当然可以,而且不仅仅是因为用户名。

在所有 Windows 2000/XP 系统中,这两个目录位于:

C:\Documents and Settings\User\Application Data
C:\Documents and Settings\User\Local Settings\Temp

(我听说这个名字是故意选的,力量新编写的程序可以接受长文件名,以防“C:\Program Files”不够用。)

虽然这些 Windows 版本现在大多已不再受支持,但如果同一系统直接从 2000/XP 升级到 Vista/7,再从那里升级到 Win8/10,这些路径可能仍会保留在应用程序配置中。由于 Windows 创建了将旧名称指向新名称的隐藏符号链接,因此它们在现代版本中也仍然是有效路径。

一般来说,一个编写良好的程序应该总是假设任何路径都可能包含空格、逗号、撇号和其他奇怪的符号。自从“C:\My Documents”以来,它们就被允许出现在路径中Windows 95– 在 2021 年,它们应该是一个基线假设,而不是“惊喜”!

答案2

用户名/账户名没有限制。它可能包含空格,文档中没有提到这一点。

例如,参见帖子 Windows 10 - 带有空格和 PATH 的用户名,其中用户名为“Miha Šušteršič”。

答案3

名称中可以有空格。

以下是我自己的机器上的一个例子。

否则,文件夹名称应与 Windows 的名称完全一致(例如,AppData 中没有空格)。

用户名带有空格

相关内容