
Windows tiene algunas carpetas como "Documentos", "Imágenes", "Descargas", etc... a las que se puede acceder desde la barra de acceso rápido a la izquierda del Explorador o desde la pestaña "Inicio". Al hacer clic en el botón para subir un nivel desde estas carpetas, volverá a Inicio o Escritorio, dependiendo de cómo llegó allí en primer lugar.
Estas carpetas en realidad están ubicadas en algo como C:\Users\user1\Documents
, o quizás C:\Users\user1\OneDrive\Documents
, así que cuando subo un nivel, realmente quiero ir a C:\Users\user1\
o C:\Users\user1\OneDrive\
.
¿Hay una forma fácil de hacer esto?
Respuesta1
Lo siguiente es válido para Windows 10, no he actualizado a 11, así que no tengo idea de cómoExploradorel comportamiento puede haber cambiado.
Hace un par de años, creé una entrada de menú contextual simple para elFundamentos del dormitorioMenú de contexto:
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\""
Se abre un nuevoExploradorventana a la ubicación del sistema de archivos de las carpetas en This PC
, shell:UsersFilesFolder
(carpeta de perfil de usuario con raíz en el escritorio), etc. Pero abrir una nueva ventana parece complicado. Parece "más limpio" navegar dentro de la ventana existente. Entonces, ver esta pregunta me hizo volver a visitarla y pensar en esto.Potencia Shellretazo:
@((New-Object -com shell.application).Windows()).ForEach({
Try{$_.Navigate2($_.LocationURL)}
Catch{}
})
NavegarátodoabiertoExploradorventanas que actualmente muestran una unión de espacio de nombres con su ubicación del sistema de archivos.
Para crear un acceso directo al menú contextual para ejecutar este código sin flash de ventana:
$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
Si prefieres un .reg
archivo:
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="