gpt4 book ai didi

.net - 第一次从代码访问windows文件夹

转载 作者:可可西里 更新时间:2023-11-01 11:53:11 25 4
gpt4 key购买 nike

目前我正在编写一个应访问 C:\Windows\Temp 文件夹中的文件的应用程序。
当我尝试从我的代码获取访问权限时,找不到该文件。

当我尝试在 Windows 资源管理器中打开文件夹时,我收到一条消息。消息说:

You don't currently have permission to access this folder click continue to permanently get access to this folder.

单击 Continue 后问题消失,我可以从我的代码访问文件,没有任何问题。

是否可以通过代码实现相同的结果?或者也许有更好的地方来存储用户共享的临时文件。

在用户之间共享文件夹的动机:

我有以下工作流程:

  1. 创建数据库备份并将其存储在临时文件夹中
  2. 用数据库做一些事情
  3. 从存储在临时文件夹中的文件恢复数据库

第 1 步和第 3 步由数据库本身执行,第 2 步由我的程序执行。通常,我的程序是由另一个用户而不是数据库启动的。这就是为什么我需要一个在用户之间共享的文件夹。

最佳答案

您所描述的是一个坏主意,自 Windows 95 以来就不鼓励了。出于显而易见的原因,不允许应用程序和普通用户修改 Windows 文件夹。

Windows 提供了用于存储应用程序数据的特定文件夹,可以是每个用户,也可以是应用程序的所有用户共有的。它们在 Environment.SpecialFolder 中定义枚举。您可以使用 Environment.GetFolderPath 检索实际值.

使用此方法是获取正确路径位置的唯一方法,因为文件夹的位置可以通过环境变量、系统策略或用户首选项进行更改。

要获取每个用户的应用程序数据文件夹,请使用:

var userDataPath=Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData);

要获取所有用户通用的应用数据路径,请使用:

var dataPath=Environment.GetFolderPath(Environment.SpecialFolder.CommonApplicationData);

确保在这些文件夹下为您的应用程序创建一个文件夹,以避免破坏其他应用程序使用的数据

关于.net - 第一次从代码访问windows文件夹,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24429947/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com