标签: special-folders

在 Mono 中,如何获取 Mac (Snow Leopard) 上的 Documents 文件夹的路径?

我正在编写一个 Mono 应用程序,并希望找到 Documents 文件夹的完整路径 - 例如/Users/johnsmith/Documents/。实现这一目标的最佳方法是什么?

macos mono special-folders osx-snow-leopard

3
推荐指数
1
解决办法
1395
查看次数

检查 DirectoryInfo.FullName 是否是特殊文件夹

我的目标是检查 DirectoryInfo.FullName 是否是特殊文件夹之一。

这就是我正在做的事情(检查每个特殊文件夹的directoryInfo.FullName,如果它们相等):

        DirectoryInfo directoryInfo = new DirectoryInfo("Directory path");

        if (directoryInfo.FullName == Environment.GetFolderPath(Environment.SpecialFolder.Windows) ||
            directoryInfo.FullName == Environment.GetFolderPath(Environment.SpecialFolder.ProgramFiles ||) 
            ...
            ...
           )
        {
            // directoryInfo is the special folder
        }
Run Code Online (Sandbox Code Playgroud)

但还有很多特殊的文件夹(Cookies、ApplicationData、InternetCache 等)。有什么办法可以更有效地完成这项任务吗?

谢谢。

c# directoryinfo special-folders

3
推荐指数
1
解决办法
2503
查看次数

.Net使用特殊文件夹表示法

我希望能够做到这样的事情:

IO.Directory.Exists("%USERPROFILE%")
Run Code Online (Sandbox Code Playgroud)

原因是我想指定我的应用程序将使用的一个目录,作为配置文件中的纯文本.在某些情况下,我希望它嵌套在用户配置文件下,在这种情况下配置文件将读取如下内容:

...
LocalDbDirectory = %USERPROFILE%\Application Data\My Toolkit\
...
Run Code Online (Sandbox Code Playgroud)

或者我可能希望它在网络位置,在这种情况下它会读取如下内容:

...
LocalDbDirectory = N:\Common\My Toolkit Databases\
...
Run Code Online (Sandbox Code Playgroud)

所以我需要能够使用IO.Directory.Exists(...)等效方法来解释速记符号.

有任何想法吗?

.net windows special-folders

3
推荐指数
1
解决办法
408
查看次数

Environment.GetFolderPath(Environment.SpecialFolder.System)与System32文件夹的Environment.SystemDirectory之间的区别

我想system32在32位Windows和SysWOW6464位Windows 上获取路径路径.无论Environment.GetFolderPath(Environment.SpecialFolder.System)Environment.SystemDirectory做工精细.我应该选择和使用哪一个?我使用的是.NET 2.0

.net c# windows special-folders system32

3
推荐指数
1
解决办法
3545
查看次数

Environment.SpecialFolders和Application文件夹之间的C#区别

这些命名空间中的魔术路径之间有什么区别:

Environment.SpecialFolder.LocalApplicationData

Application.LocalUserAppDataPath

Environment.SpecialFolder.ApplicationData

Application.CommonAppDataPath

等等...

c# special-folders

2
推荐指数
2
解决办法
4598
查看次数

在VBS中获取Common Documents文件夹

令我非常懊恼的是,我必须使用VBS编写InstallShield 2010 LE自定义操作.我没有VBS经验所以我基本上把我找到的代码片段放在一起.

我需要保留Common Documents文件夹(CSIDL_COMMON_DOCUMENTS).它没有定义WScript.Shell.SpecialFolders(尽管所有用户桌面都是).我发现了一些尝试链接到系统DLL的示例代码:

Private Declare Function SHGetFolderPath Lib "shfolder.dll" _
Alias "SHGetFolderPathA" _
    (ByVal hwndOwner As Long, _
    ByVal nFolder As Long, _
    ByVal hToken As Long, _
    ByVal dwReserved As Long, _
    ByVal lpszPath As String) As Long
Run Code Online (Sandbox Code Playgroud)

但是当我尝试在VbsEdit中运行它时,我在第一行得到以下错误:

Microsoft VBScript compilation error: Expected end of statement

有任何想法吗?

windows vbscript installer installshield special-folders

2
推荐指数
1
解决办法
2305
查看次数

ProgramFilesX86 SpecialFolder在Windows XP等系统上做了什么?

因为我在MSDN文档中找不到任何明确的说明:ProgramFilesX86在32位系统上枚举值是什么回报?


发展环境

请注意:在我的组织中,每当我想测试时,我都不能站起来.这就是我问社区的原因.我甚至无法访问32位ISO来构建虚拟机 - 所以请理解我在这个组织内部有一些限制.

  • Windows 7 64位

生产环境

在生产中我不知道他们是在运行32位还是64位系统,而且它可能是混合体.但是我知道操作系统列表.

  • Windows 7的
  • Windows Vista
  • Windows XP

目的

获取正确的程序文件目录,以便我可以动态启动我的应用程序.

已知变量

  1. 应用程序随MSI一起安装,并将使用默认选项进行安装,因此它将安装在Program Files目录中.
  2. 该应用程序是一个32位应用程序,因此在64位系统上它将使用该Program Files (x86)文件夹,但在32位系统上,它将使用标准Program Files目录.

谢谢大家!

.net c# special-folders

2
推荐指数
1
解决办法
2483
查看次数

Environment.SpecialFolder.MyDocuments有效但是SpecialFolder.MyComputer不起作用?

我正在使用VS2013 Express for Desktop并使用Windows窗体.

我正在关注这个MSDN演练"使用Designer使用ListView和TreeView控件创建资源管理器样式界面".所以我试图让树视图从"MyComputer"级别开始,以便所有驱动器号都可供用户选择.

它适用于MyDocuments,如下所示:

DirectoryInfo info = new DirectoryInfo(Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments));
Run Code Online (Sandbox Code Playgroud)

但是当我从自动完成中选择MyComputer时,它不起作用:

DirectoryInfo info = new DirectoryInfo(Environment.GetFolderPath(Environment.SpecialFolder.MyComputer));
Run Code Online (Sandbox Code Playgroud)

我明白了:

mscorlib.dll中出现未处理的"System.ArgumentException"类型的异常附加信息:该路径不是合法格式.

这是令人惊讶的,因为"MyComputer"在自动完成中可用,但不像其他特殊文件夹那样工作.

谢谢.

更新: 谢谢ByteBlast和CodyGray.

在这里询问我应该做什么是不恰当的?

c# windows special-folders visual-studio winforms

2
推荐指数
1
解决办法
2624
查看次数

检查给定路径是否是特殊文件夹路径?

在 Windows 上,可以使用SHGetKnownFolderPathor获取任何特殊文件夹路径SHGetSpecialFolder(如果我没记错的话)。但是,我想要相反的,我有一个路径,想知道它属于哪个特殊文件夹(如果有)。我更喜欢这种方法,因为要找出给定的路径是否在特定的特殊文件夹中,我必须为所有用户枚举所有特殊文件夹,这有点难看,但如果没有其他方法,天空是极限:)

我搜索了它,但找不到任何有用的东西。那么 WinApi 是否有一个功能可以做到这一点?

谢谢。

windows winapi special-folders

2
推荐指数
1
解决办法
229
查看次数

1
推荐指数
1
解决办法
1800
查看次数

将桌面文件夹重定位到 OneDrive 后,%USERPROFILE%/Desktop 不再有效

由于 OneDrive 同步,我已将 Windows /Desktop 文件夹移动到其他位置。

桌面属性

结果,我指向的批处理和 Powershell 脚本%USERPROFILE%/Desktop不再起作用。有没有另一种方法可以在不硬编码新路径的情况下获取我的桌面位置?

windows powershell batch-file environment-variables special-folders

0
推荐指数
1
解决办法
949
查看次数