Recentemente fiquei incomodado com o fato de ser tão difícil ativar "Mostrar arquivos ocultos" no Windows em comparação com outros sistemas operacionais (por exemplo, Ubuntu). Estou procurando uma maneira de adicionar uma opção para "Alternar arquivos ocultos" ao menu de contexto do Windows 7, mas encontrei apenas opções de terceiros. No entanto, eu preferiria fazer isso sozinho em vez de uma opção de terceiros, apenas por funcionalidades desnecessárias.
Tenho certeza de que deve haver uma maneira de fazer isso com o Editor do Registro, pois adicionar outras coisas ao menu de contexto envolve isso (pelo que posso ver em outros tutoriais). No entanto, não encontrei nada para fazer isso ainda. Também estou assumindo que precisarei usar algum tipo de script para ser chamado a partir da entrada do Registro.
Alguém tem alguma experiência com isto? Isso melhoraria muito meu fluxo de trabalho, pois alterno entre querer ver arquivos ocultos e ocultá-los com bastante frequência. Obrigado!
Responder1
O próximo VBScript deve fazer o trabalho:
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
E o seguinte arquivo de configuração do registro adiciona a funcionalidade de script acima para clicar com o botão direito no menu de contexto para qualquer pastafundono File Explorer (e também no plano de fundo da área de trabalho).
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, no .reg
arquivo acima, personalize os próximos itens para atender às suas circunstâncias:
- nome do item de menu
Toggle Hidden Files
e - caminho completo para o script
D:\\VB_scripts\\SU\\1088687.vbs
(observe as barras invertidas duplas).
Para verificar a exatidão:
==> 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"
==>
Além disso, você pode remover todas as linhas contidas sResult
no VBscript acima; então o script fará o trabalho silenciosamente.
Responder2
A chave do Registro que você procura está aqui:
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced] "Oculto"=dword:0000000x
Defina x como 1 para mostrar os arquivos e pastas ocultos e defina x como 2 para ocultá-los.
Então faremos dois arquivos para nos ajudar. Precisamos armazená-los em algum lugar e usarei a pasta Documentos em meus exemplos.
Arquivos e pastas 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
Arquivos e pastas 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
Agora você pode testar o funcionamento desses arquivos clicando neles. Você precisará atualizar ([F5]) para que as alterações entrem em vigor.
Em seguida, precisamos fazer uma alteração no registro para adicionar a opção de clique com o botão direito. Presumo que queremos apenas adicionar a opção de clicar com o botão direito às pastas. Aqui está um arquivo .reg que fará as alterações necessárias:
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\""
Agora você pode clicar com o botão direito em qualquer pasta e selecionar a opção Ocultar ou Mostrar. Você ainda precisará fazer View -> Refresh (ou pressionar [F5]) para ver as alterações.
Observe que isso usa a localização demeuPasta Documentos. Você precisará fazer as alterações apropriadas para o seu computador.
Poderíamos tornar isso mais universal e usar a variável% USERPROFILE%, mas isso exige o uso de uma string expansível que torna o arquivo .reg mais difícil de ler e alterar, então pulei nas etapas acima. Além disso, não sei onde você realmente deseja armazenar os arquivos, então mantive as coisas simples por enquanto.