Windows 有几个文件夹,例如“文档”、“图片”、“下载”等,可以通过 Explorer 左侧的快速访问栏或“主页”选项卡访问。单击按钮从这些文件夹上移一级将带您返回主页或桌面,具体取决于您最初如何到达那里。
这些文件夹实际上位于类似于C:\Users\user1\Documents
或者 的位置C:\Users\user1\OneDrive\Documents
,因此当我上一级时,我真正想要转到C:\Users\user1\
或C:\Users\user1\OneDrive\
。
是否有捷径可寻?
答案1
以下内容适用于 Windows 10,我还没有升级到 11,所以不知道如何探索者行为可能已经改变。
几年前,我创建了一个简单的上下文菜单项,用于教师背景上下文菜单:
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Directory\background\shell\OpenLocation]
@="&Open file-system location"
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Directory\background\shell\OpenLocation\command]
@="\"explorer.exe\" \"%v\""
它开辟了一个新的探索者窗口到 下的文件夹的文件系统位置This PC
(shell:UsersFilesFolder
位于桌面上的用户配置文件文件夹)等。但打开新窗口似乎很笨拙。在现有窗口中导航似乎“更干净”。所以看到这个问题让我重新访问并想出了这个电源外壳片段:
@((New-Object -com shell.application).Windows()).ForEach({
Try{$_.Navigate2($_.LocationURL)}
Catch{}
})
它将导航全部打开探索者当前显示与其文件系统位置的命名空间连接的窗口。
要创建上下文菜单快捷方式来运行此代码而不让窗口闪烁:
$encodedCommand = [Convert]::ToBase64String([System.Text.Encoding]::Unicode.GetBytes( '@((New-Object -com shell.application).Windows()).ForEach({Try{$_.Navigate2($_.LocationURL)}Catch{}})'))
$CommandLine = 'cmd.exe /c start /min Powershell -NoProfile -ExecutionPolicy Bypass -EncodedCommand ' + encodedCommand
$Key = 'HKCU:\SOFTWARE\Classes\Directory\Background\Shell\NavToFSLocation'
[PSCustomObject]@{
'(Default)' = 'Open file-system location'
'Position' = 'Top'
} | Set-ItemProperty -Path (mkdir $Key -Force).PSPath
New-Item -Path $Key -Name 'Command' -Value $CommandLine
如果您更喜欢.reg
文件:
Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\SOFTWARE\Classes\Directory\Background\Shell\NavToFSLocation]
@="Open file-system location"
"Position"="Top"
[HKEY_CURRENT_USER\SOFTWARE\Classes\Directory\Background\Shell\NavToFSLocation\Command]
@="cmd.exe /c start /min Powershell -NoProfile -ExecutionPolicy Bypass -EncodedCommand QAAoACgATgBlAHcALQBPAGIAagBlAGMAdAAgAC0AYwBvAG0AIABzAGgAZQBsAGwALgBhAHAAcABsAGkAYwBhAHQAaQBvAG4AKQAuAFcAaQBuAGQAbwB3AHMAKAApACkALgBGAG8AcgBFAGEAYwBoACgAewBUAHIAeQB7ACQAXwAuAE4AYQB2AGkAZwBhAHQAZQAyACgAJABfAC4ATABvAGMAYQB0AGkAbwBuAFUAUgBMACkAfQBDAGEAdABjAGgAewB9AH0AKQA="