Windows: 哪些文件夹始终提供写入权限?

Windows: Which folders always offer write permissions?

问题问的真清楚

哪些(Windows-)文件夹始终具有写入权限?

所以我需要找到一个文件夹,该文件夹始终对任何应用程序的任何系统具有写入权限。

目前我使用了 %AppData%,但我收到一些用户的通知,该路径没有写入权限(尤其是在 public 台计算机上)。

哪些文件夹可写不仅取决于OS而且还取决于该计算机上安装的security/guarding系统。某些防病毒软件或系统管理员可以 install/create 非常限制计算机上的数据访问策略。对于 public 台计算机,%TEMP% 文件夹很可能是唯一常见的可写文件夹。如果没有对 temp 的写入访问权限,许多应用程序根本不会 运行。当然,你不能指望数据会永久保存在临时文件夹下。

第二个有希望的地方是用户的本地数据文件夹,通常是AppData/Local,如果您不需要考虑漫游数据的话。同样,这取决于该计算机上的访问限制类型。

查看此 link 关于 Windows appdata 文件夹。

https://msdn.microsoft.com/en-us/windows/uwp/app-settings/store-and-retrieve-app-data

Windows 提供专供应用程序使用的漫游应用程序数据文件夹和本地应用程序数据文件夹。如果系统管理员已锁定这些,则可能意味着用户不应该是 运行 第三方应用程序。 (唯一明显的其他可能性是系统管理员不称职。)

其他可能性包括 Documents 文件夹...基本上,在正常情况下,每个用户的任何文件夹都应该是可写的。当然,系统管理员 可以 将其中任何一个设置为不可写。但这不应该是你的问题。

请注意,您应该使用 SHGetKnownFolderPath 函数或等效函数来确定文件夹路径,而不是读取环境变量。您尚未指定您的语言,但关于如何执行此操作的问题已经有很多已回答。

此外,您不应该将文件直接写入应用程序数据文件夹;相反,创建一个子文件夹并将文件放在那里。

虽然某些安全模型可能会禁止它,但 %PUBLIC% 目录很有可能是公平游戏。