如何检测OneDrive桌面客户端文件夹的位置


2

如何检测Onedrive桌面客户端文件夹的位置?

我在寻找的Onedrive相当于这个 Dropbox的问题。

编辑:这适用于检测Vista / 7中的桌面版本以及8.1附带的版本。


1
这完全取决于Windows(和Skydrive)的版本。例如,Windows 8.1现在已经内置了对Skydrive的支持,这意味着Skydrive目录是用户配置文件的成员。
拉姆猎犬,2013年

您在说什么Windows版本?
戴维2014年

Vista之后的所有内容-已将其添加到问题中。
肖恩·基伦

Answers:


3

您可以从Microsoft论坛中查看此帖子。似乎有两种方法可以做到这一点。

.ini文件和注册表项当前都是检索本地SkyDrive文件夹的可靠方法。

您可以在登记中心键HKEY_CURRENT_USER\Software\Microsoft\SkyDrive,名称UserFolder

// C# sample
String SkyDriveFolder = Registry.GetValue("HKEY_CURRENT_USER\\Software\\Microsoft\\SkyDrive", "UserFolder",null).ToString();

您可以在以下位置找到.ini文件 C:\Users\{username}\AppData\Local\Microsoft\SkyDrive\settings

请按照以下步骤操作:

  1. 获取此处存在的单个.DAT文件的名称。

  2. 查找与.DAT文件具有相同名称(无扩展名)的.INI文件。这样做的原因是因为存在多个.INI文件,但是只有一个.DAT文件,并且该文件与所需的.INI文件共享名称。

  3. 打开此.INI文件,并分析以“ library”开头的最后一行。这行的最后一部分是本地映射路径。

希望这会有所帮助。


谢谢,这就是我想要的。它似乎在8.1中不起作用,但我将在Stack上继续进行。
肖恩·基伦

仅供参考,链接到Microsoft论坛似乎不再起作用
Rick Berge

@RickBerge确实。我从另一个线程复制/粘贴了答案。这不应该是一个问题。
aloisdg '16

看起来OneDrive for Business是这里HKCU\Software\Microsoft\OneDrive\Accounts\Business1UserFolder
泰勒萨博
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.