问题标签 [known-folders]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
66 浏览

c# - 查找个人/文档文件夹未显示正确的位置

我的背景更多是 Web 开发,所以这可能是一个简单的问题。我有一个 MS Word 加载项,它最初是为使用而构建的Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments)

据报道,我们应该使用映射到 Personal Shell 文件夹的注册表项的 CSIDL_PERSONAL 变量。据我所知,SpecialFolder 是访问它的标准方式,但即使我将注册表项更改为其他位置(例如网络驱动器),它似乎仍然可以解析为用户的文档文件夹。

有谁知道使用 CSIDL_PERSONAL 路径的更好方法,或者为什么我在使用 SpecialFolder 时遇到问题?

0 投票
4 回答
2928 浏览

c# - 以编程方式获取已安装应用程序可执行文件的列表(Windows10、C#)

我想获取在 Windows 10 上安装和可执行的应用程序列表——即用户可以启动的应用程序的可执行文件(UWP 和非 UWP)。对于 UWP 应用,我想获取它的 AppUserModelId。对于非 UWP 应用,我想获取可执行文件的文件位置。

到目前为止,我已经尝试过: 1)浏览注册表并遍历已安装的应用程序。但是,此方法会遍历所有已安装的应用程序,返回的列表将包括microsoft asp.net core 2.1.8 shared framework (x64)我想要消除的内容。

2)我发现我可以通过在资源管理器窗口或运行中Appsfolder键入特殊的内容来访问我想要的内容。shell:Appsfolder到目前为止,我能够访问此文件夹,并遍历项目并列出文件的名称。但我不确定如何收集有关 AppUserModelId(对于 UWP 应用程序)和文件路径(对于 WPF 应用程序)的信息。

我用来枚举 Appsfolder 文件的相关代码:

执行为:

ILaunchSourceAppUserModelID接口提供了一种获取 AppUserModelID 的方法,但我不确定如何通过我的 IShellFolder 接口访问该接口。另外,如何将 AppsFolder 虚拟文件夹中的实际文件位置获取到实际 exe 的文件路径?

0 投票
1 回答
380 浏览

powershell - 如何使用 powershell 在 Windows 文件夹中查找第二个最新(访问)文件

我有一个包含 5 个文件的文件夹。

我想跳过第一个最新文件并想要第二个最新文件的名称。如何使用 PowerShell 命令执行此操作?

0 投票
1 回答
441 浏览

c++ - 如何获取 linux 的已知路径

Windows 有一个 Known Path 的概念,其中包含无需硬编码路径即可检索它们的函数:

linux有没有等价物?

0 投票
0 回答
451 浏览

windows - 如何更改本地 Appdata 位置

我正在尝试创建一个脚本,将一些 Windows 已知文件夹移动到其他位置/驱动器,我已成功移动 RoamingAppData 但在 LocalAppData 上失败

我正在使用这个脚本来更改位置,但是在 LocalAppData 上运行时它给了我一个错误。

在 RoamingAppData 上,脚本返回 0 并且 RoamingAppData 的位置发生了变化,即使快捷方式 %appdata% 停止指向任何东西。

但是,当我尝试使用 LocalAppData 进行相同操作时,脚本返回 -2147024809,我无法在任何地方追踪,在脚本使用的核心功能的支持页面上,没有任何关于错误号的信息,而且谷歌搜索甚至没有找到与上面的数字相关的任何东西。

有没有其他方法可以使用 powershell 更改 LocalAppData 的位置?

0 投票
2 回答
189 浏览

uwp - 绝对路径文件 - 位于特殊的 KnownFolders.PicturesLibrary

在面向 UWP 的应用程序中,如果文件(在我的应用程序中修改)已从应用程序无法写入的位置打开(在这种情况下,“另存为”仅可用),我想禁用保存(“覆盖”)按钮. 但是,允许应用程序写入 KnownFolders.PicturesLibrary,我需要在代码中确定给定路径是否位于 PicturesLibrary(或该位置的嵌套子文件夹)内。

我能够判断一个路径是否是另一个路径的子文件夹,但对于 StorageFolder

我得到空的 Path 属性值。

那么,如何判断给定路径是否位于PicturesLibrary 中?

有什么方法可以将 KnownFolders.Pictures 库解析为磁盘路径?

或者我应该使用打开文件时获得的绝对路径以外的其他东西来识别文件是否来自 PicturesLibrary?

0 投票
1 回答
333 浏览

uwp - 在 UWP 中使用 Windows.Storage 命名空间获取内部驱动器

花了一些时间阅读 Windows.Storage 类和方法后,我有点震惊地发现没有简单的方法可以使用 UWP 检索机器上的内部驱动器列表。我发现了这样的例子:如何在 Windows 10 中获取逻辑驱动器名称?,但这仅提供可移动驱动器(闪存驱动器、DVD 驱动器等)。

我知道我可以允许用户选择一个文件夹,这将为我提供所选驱动器的句柄,但这似乎很笨拙,因为我希望用户能够运行我的软件并扫描 PC 上的内部磁盘而无需每次都必须重新选择驱动器。

我已将 broadFileSystemAccess 属性添加到清单中,因此可以访问磁盘,我只是无法调用方法来获取内部驱动器。作为一种解决方法,我编写了以下方法。

这是调用 GetInternalDrives 的示例:

虽然代码只为应用程序的一个实例调用一次,但我对代码一点也不满意。当它为字母表中的每个字母调用 StorageFolder.GetFolderFromPathAsync 时,它在我的机器上崩溃了 20 多次。编写您期望失败的代码并处理异常似乎是不好的做法。但是由于缺乏合适的选择,我不知道我还有什么其他选择。

有没有人解决过同样的问题,如果有,你做了什么来解决它?

0 投票
1 回答
35 浏览

batch-file - 如何将文本文件中的行解析/传递到要使用该字符串运行的程序

我使用了一个停业的旧程序,它创建了一个文件夹,并在该“根”文件夹内创建了该文件夹内的其他文件夹,它创建了一个运行程序输出的 rar 文件。

请注意,根目录内部有 400 多个文件夹,每个文件夹里面都有一个我需要解压缩的 zip 文件。

该文件夹基于它运行的时间,并且该程序在任何地方运行从每分钟 2 次到每分钟 6 次,因此它根据运行时间在“根”文件夹中创建一个新文件夹。

要查看信息,我需要解压缩它在该文件夹中创建的文件。问题,我在一个中心文件夹中有 400 多个文件夹,必须将所有文件都保存到它们当前所在的文件夹中。

我知道 WinRar 有一个 unrar here 功能,并且我生成了一个文本文件,其中包含我需要 unrar 的每个文件夹的目录列表。每行一个文件夹。

基本上我需要一个批处理文件,它将转到每个文件夹,在此处执行 unrar 并转到下一个文件夹。

有什么可用的帮助吗?我在 Win10 Home 系统上,并且注册了 WinRAR 5.80 版本。我不是 Powershell 用户,我从今天开始学习它,但我确实使用 PowerShell 生成了带有目录列表的 txt 文件。

(Get-ChildItem -Recurse -Filter " zip ").FullName | 输出文件 d:\pattern.txt

所以我并不是完全无知。

谢谢你。

响应 Campo,我使用 WinRar 来处理 Zips 以及 Rars,当我安装了 WinRar 时,我发现我不需要一个 zip 提取器。

0 投票
1 回答
69 浏览

c# - 如何授予使用c#创建目录的权限

这是我的代码

错误:

未处理的异常:System.UnauthorizedAccessException:对访问路径“C:\Users\“程序目录”的访问被拒绝。

0 投票
1 回答
111 浏览

c# - 如何检测对已知文件夹重定向的更改

当 OneDrive 安装时启用了已知文件夹移动,用户首次登录时不会重定向已知文件夹,然后在会话中途,它们会被重定向到 OneDrive 文件夹。

我怎样才能检测到呢?

我已经尝试过,WM_SETTINGCHANGE但无济于事。SHChangeNotifyRegisterCSIDL_Desktop