我知道已解答的解决方案here。基本上,我们的想法是在%USERPROFILE%\Favoriates
文件夹中创建指向文件夹的链接。
然而它对我不起作用。我正在使用Windows8(不知道是否重要)。在我的%USERPROFILE%\Favoriates
中,它包含IE的优惠项,而不是文件资源管理器。
我尝试在注册表和文件系统中找到此设置,方法是创建一个具有非常唯一名称的文件夹,并将其添加到文件资源管理器中。然后在注册表和文件系统中搜索名称。没有产生任何东西。
答案 0 :(得分:4)
看起来你想要%UserProfile%\ Links。
答案 1 :(得分:4)
以编程方式,您希望使用SHGetKnownFolderPath使用KNOWNFOLDERID_Links检索位置,而不是对任何位置进行硬编码,然后使用IShellLink
在该位置创建快捷方式文件。< / p>
这是第一部分的C#示例:
[DllImport("shell32.dll")]
static extern int SHGetKnownFolderPath(
[MarshalAs(UnmanagedType.LPStruct)] Guid knownFolderId,
uint flags,
IntPtr userToken,
[MarshalAs(UnmanagedType.LPWStr)] out string knownFolderPath);
// this corresponds to the KNOWNFOLDERID_Links constant:
public static readonly Guid Links = new Guid("bfb9d5e0-c6a9-404c-b2b2-ae6db6af4968");
public static string GetKnownFolderPath(Guid knownFolderId)
{
string path;
int result = SHGetKnownFolderPath(knownFolderId, 0, IntPtr.Zero, out path);
// … (error handling; check result for E_FAIL, E_INVALIDARG, or S_OK)
return path;
}
答案 2 :(得分:0)
啊,对于Windows 8来说,此位置已更改为%USERPROFILE%\Links
,而不是%USERPROFILE%\Favoriates
。
所以回答我的问题。要以编程方式将文件夹添加到Windows 8文件资源管理器中的“收藏夹”,您需要在%USERPROFILE%\Links
文件夹中创建指向该文件夹的链接:
mklink /D %USERPROFILE%\Links\<Link_Name> <Tartget_Folder_Path>
答案 3 :(得分:0)
资源管理器收藏夹存储在%USERPROFILE%\Links
。
答案 4 :(得分:0)
Function AddAFolderShortCut($fileName, $targetPath)
{
Write-Host "Creating Shortcut $fileName points to $targetPath"
$WshShell = New-Object -comObject WScript.Shell
$Shortcut = $WshShell.CreateShortcut("$env:USERPROFILE\Links\$fileName.lnk")
$Shortcut.TargetPath = $targetPath
$Shortcut.Save()
}
AddAFolderShortCut "FolderName" "C:\folderpath"