
Windows verfügt über einige Ordner wie „Dokumente“, „Bilder“, „Downloads“ usw., auf die Sie über die Schnellzugriffsleiste links im Explorer oder über die Registerkarte „Start“ zugreifen können. Wenn Sie auf die Schaltfläche klicken, um von diesen Ordnern aus eine Ebene nach oben zu gelangen, gelangen Sie zurück zum Start- oder Desktop-Ordner, je nachdem, wie Sie ursprünglich dorthin gelangt sind.
Diese Ordner befinden sich in Wirklichkeit irgendwo wie C:\Users\user1\Documents
oder vielleicht , wenn ich also eine Ebene nach oben gehe, möchte ich eigentlich zu oder C:\Users\user1\OneDrive\Documents
gelangen .C:\Users\user1\
C:\Users\user1\OneDrive\
Gibt es eine einfache Möglichkeit, dies zu tun?
Antwort1
Das Folgende gilt für Windows 10, ich habe nicht auf 11 aktualisiert, also keine Ahnung, wieForscherDas Verhalten hat sich möglicherweise geändert.
Vor ein paar Jahren habe ich einen einfachen Kontextmenüeintrag für dasDorectorischer HintergrundKontextmenü:
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\""
Es öffnet eine neueForscherFenster zum Dateisystemspeicherort der Ordner unter This PC
, shell:UsersFilesFolder
(Benutzerprofilordner, der auf dem Desktop verwurzelt ist) usw. Aber das Öffnen eines neuen Fensters scheint umständlich. Es scheint "sauberer" zu sein, innerhalb des vorhandenen Fensters zu navigieren. Als ich diese Frage sah, besuchte ich sie noch einmal und kam auf FolgendesPower ShellAusschnitt:
@((New-Object -com shell.application).Windows()).ForEach({
Try{$_.Navigate2($_.LocationURL)}
Catch{}
})
Es wird navigierenalleoffenForscherFenster, die derzeit eine Namespace-Verbindung zu ihrem Dateisystemspeicherort anzeigen.
So erstellen Sie eine Kontextmenüverknüpfung zum Ausführen dieses Codes ohne Windows-Flash:
$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
Wenn Sie eine .reg
Datei bevorzugen:
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="