【发布时间】:2016-09-26 04:40:05
【问题描述】:
这个问题很清楚。
哪些(Windows-)文件夹始终具有写入权限?
所以我需要在任何系统上为任何应用程序找到一个始终具有写入权限的文件夹。
目前我使用 %AppData%,但我收到一些用户的通知,指出该路径没有写入权限(尤其是在公共计算机上)。
【问题讨论】:
标签: windows permissions directory rights appdata
这个问题很清楚。
哪些(Windows-)文件夹始终具有写入权限?
所以我需要在任何系统上为任何应用程序找到一个始终具有写入权限的文件夹。
目前我使用 %AppData%,但我收到一些用户的通知,指出该路径没有写入权限(尤其是在公共计算机上)。
【问题讨论】:
标签: windows permissions directory rights appdata
哪些文件夹可写不仅取决于操作系统,还取决于该计算机上安装的安全/防护系统。一些防病毒软件或系统管理员可以在计算机上安装/创建非常受限的数据访问策略。对于公用计算机,很可能 %TEMP% 文件夹可能是唯一常见的可写文件夹。如果没有对 temp 的写入访问权限,许多应用程序将根本无法运行。当然,你不能指望数据会永久保存在 temp 文件夹下。
如果你不需要考虑漫游数据,第二个有希望的地方是用户的本地数据文件夹,通常是 AppData/Local。同样,这取决于该计算机上的访问限制类型。
查看有关 Windows appdata 文件夹的链接。
https://msdn.microsoft.com/en-us/windows/uwp/app-settings/store-and-retrieve-app-data
【讨论】:
尽管某些安全模型可能会限制它,但 %PUBLIC% 目录很有可能是公平的游戏。
【讨论】:
Windows 提供了专门供应用程序使用的漫游应用程序数据文件夹和本地应用程序数据文件夹。如果系统管理员已锁定这些,则可能意味着用户不应该运行第三方应用程序。 (唯一明显的可能性是系统管理员不称职。)
其他可能性包括 Documents 文件夹...基本上任何每个用户的文件夹在正常情况下都应该是可写的。当然,系统管理员可以使这些中的任何一个不可写。但这不应该是你的问题。
请注意,您应该使用 SHGetKnownFolderPath 函数或等效函数来确定文件夹路径,而不是读取环境变量。您尚未指定您的语言,但关于如何执行此操作的问题已经回答了很多。
此外,您不应将文件直接写入应用程序数据文件夹;相反,创建一个子文件夹并将文件放在那里。
【讨论】: