Recientemente me ha molestado el hecho de que es muy difícil activar "Mostrar archivos ocultos" en Windows en comparación con otros sistemas operativos (es decir, Ubuntu). He estado buscando una manera de agregar una opción para "Alternar archivos ocultos" al menú contextual de Windows 7, pero solo se me han ocurrido opciones de terceros. Sin embargo, preferiría hacerlo yo mismo en lugar de una opción de terceros, simplemente por funcionalidad innecesaria.
Estoy bastante seguro de que debe haber una manera de hacer esto con el Editor del Registro, ya que agregar otras cosas al menú contextual implica esto (por lo que puedo ver en otros tutoriales). Sin embargo, todavía no he encontrado nada para hacerlo. También supongo que necesitaré usar algún tipo de script para que me llamen desde la entrada del Registro.
¿Alguien tiene alguna experiencia con esto? Mejoraría enormemente mi flujo de trabajo, ya que cambio entre querer ver archivos ocultos y ocultarlos con bastante frecuencia. ¡Gracias!
Respuesta1
El siguiente VBScript debería hacer el trabajo:
option explicit
On Error GoTo 0
Dim sResult: sResult = Wscript.ScriptName ''' debugging
Const HKEY_CURRENT_USER = &H80000001
Dim strComputer, strKeyPath, strValName, dwValue, arrValues, objReg, WshShell
arrValues = Array (" unknown", " show hidden files", " hide hidden files" )
strComputer = "."
Set objReg=GetObject("winmgmts:\\" & strComputer & "\root\default:StdRegProv")
strKeyPath = "Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced"
strValName = "hidden"
objReg.GetDWORDValue HKEY_CURRENT_USER, strKeyPath, strValName, dwValue
If Not (dwValue = 1 OR dwValue = 2) Then dwValue = 0
sResult = sResult & vbNewLine & CStr( dwValue) & arrValues( dwValue) ''' debugging
dwValue = (dwValue Mod 2) + 1 ' switch value 1 <--> 2
sResult = sResult & " -> " & CStr( dwValue) & arrValues( dwValue) ''' debugging
objReg.SetDWORDValue HKEY_CURRENT_USER, strKeyPath, strValName, dwValue
set WshShell = WScript.CreateObject("WScript.Shell")
WScript.Sleep 30
WshShell.SendKeys "{F5}" ' refresh
Wscript.Echo sResult ''' debugging
Wscript.Quit
Y el siguiente archivo de configuración de registro agrega la funcionalidad de script anterior al menú contextual del botón derecho para cualquier carpeta.fondoen el Explorador de archivos (y también para el fondo del escritorio).
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\Directory\background\shell\Toggle Hidden Files]
[HKEY_CLASSES_ROOT\Directory\background\shell\Toggle Hidden Files\command]
@="C:\\Windows\\System32\\wscript.exe \"D:\\VB_scripts\\SU\\1088687.vbs\""
Por favor, en .reg
el archivo anterior, personalice los siguientes elementos para que se ajusten a sus circunstancias:
- nombre del elemento del menú
Toggle Hidden Files
y - ruta completa al script
D:\\VB_scripts\\SU\\1088687.vbs
(tenga en cuenta las barras invertidas duplicadas).
Para verificar la corrección:
==> reg query "HKCR\Directory\background\shell\Toggle Hidden Files" /s
HKEY_CLASSES_ROOT\Directory\background\shell\Toggle Hidden Files\command
(Default) REG_SZ C:\Windows\System32\wscript.exe "D:\VB_scripts\SU\1088687.vbs"
==>
Además, puede eliminar todas las líneas que contienen sResult
el VBscript anterior; entonces el script hará el trabajo silenciosamente.
Respuesta2
La clave de Registro que está buscando está aquí:
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced] "Oculto"=dword:0000000x
Establezca x en 1 para mostrar los archivos y carpetas ocultos, y establezca x en 2 para ocultarlos.
Así que crearemos dos archivos para ayudarnos. Necesitamos almacenarlos en algún lugar y usaré la carpeta Documentos en mis ejemplos.
Archivos y carpetas ocultos - show.reg:
Windows Registry Editor Version 5.00
; Show hidden files & folders
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced]
"Hidden"=dword:00000001
Archivos y carpetas ocultos - hide.reg:
Windows Registry Editor Version 5.00
; Hide hidden files & folders
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced]
"Hidden"=dword:00000002
Ahora puede probar el funcionamiento de estos archivos haciendo clic en ellos. Deberá actualizar ([F5]) para ver que los cambios surtan efecto.
A continuación, debemos realizar un cambio en el registro para agregar la opción de hacer clic derecho. Asumiré que solo queremos agregar la opción de hacer clic derecho a las carpetas. Aquí hay un archivo .reg que realizará los cambios necesarios:
Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\Software\Classes\Folder\shell]
[HKEY_CURRENT_USER\Software\Classes\Folder\shell\Hide]
@="Hidden Files - &Hide"
[HKEY_CURRENT_USER\Software\Classes\Folder\shell\Hide\command]
@="reg import \"C:\\Users\\Jim\\Documents\\Hidden Files & Folders - hide.reg\""
[HKEY_CURRENT_USER\Software\Classes\Folder\shell\Show]
@="Hidden Files - &Show"
[HKEY_CURRENT_USER\Software\Classes\Folder\shell\Show\command]
@="reg import \"C:\\Users\\Jim\\Documents\\Hidden Files & Folders - show.reg\""
Ahora puede hacer clic derecho en cualquier carpeta y seleccionar la opción Ocultar o Mostrar. Aún necesitarás hacer Ver -> Actualizar (o presionar [F5]) para ver los cambios.
Tenga en cuenta que esto utiliza la ubicación demiCarpeta de documentos. Deberá realizar los cambios apropiados para su computadora.
Podríamos hacer esto más universal y usar la variable %USERPROFILE%, pero eso requiere el uso de una cadena expandible que hace que el archivo .reg sea más difícil de leer y cambiar, así que lo omití en los pasos anteriores. Además, no sé dónde quieres almacenar realmente los archivos, así que lo mantuve simple por ahora.