Adicionar Mostrar / Ocultar pastas ocultas no menu de contexto do Windows 7

0

Recentemente eu tenho sido incomodado pelo fato de que é tão difícil ligar "Mostrar arquivos ocultos" no Windows, em comparação com outros sistemas operacionais (ou seja, Ubuntu). Eu tenho procurado uma maneira de adicionar uma opção para "alternar arquivos ocultos" para o menu de contexto do Windows 7, mas surgiu com apenas opções de terceiros. No entanto, eu preferiria fazer isso sozinho, em oposição a uma opção de terceiros, apenas para funcionalidades desnecessárias.

Tenho certeza de que deve haver uma maneira de fazer isso com o Editor do Registro, já que adicionar outras coisas ao menu de contexto envolve isso (pelo que posso ver em outros tutoriais). No entanto, não encontrei nada para fazer ainda. Eu também estou assumindo que precisarei usar um script de algum tipo para ser chamado a partir da entrada do Registro.

Alguém tem alguma experiência com isso? Isso melhoraria muito o meu fluxo de trabalho, pois alterno entre querer ver arquivos ocultos e ocultá-los com bastante frequência. Obrigado!

    
por Kendall Roth 13.06.2016 / 15:43

2 respostas

0

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 do mouse no menu de contexto para qualquer pasta fundo no File Explorer (e também para o 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, acima do arquivo .reg , personalize os próximos itens para se adequarem à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 barras duplas invertidas).

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\SU88687.vbs"

==>

Além disso, você pode remover todas as linhas contendo sResult acima do VBscript; então o roteiro fará o trabalho silenciosamente.

    
por 13.06.2016 / 20:15
0

A chave do registro que você está procurando está aqui:

[HKEY_CURRENT_USER \ Software \ Microsoft \ Windows \ CurrentVersion \ Explorer \ Avançado] "Oculto" = dword: 0000000x

Defina x para 1 para mostrar os arquivos ocultos & pastas e defina x para 2 para ocultá-las.

Então, vamos criar dois arquivos para nos ajudar. Precisamos armazená-los em algum lugar e usaremos a pasta Documentos nos meus exemplos.

Arquivos ocultos & Pastas - 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 ocultos & Pastas - 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 esses arquivos clicando neles. Você precisará atualizar ([F5]) para ver as alterações entrarem em vigor.

Em seguida, precisamos fazer uma alteração no registro para adicionar a opção de clique com o botão direito do mouse. Eu suponho que nós queremos apenas adicionar a opção de clicar com o botão direito do mouse à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 do mouse em qualquer pasta e selecionar a opção Ocultar ou Mostrar. Você ainda precisa fazer um View - > Atualize (ou pressione [F5]) para ver as alterações.

Observe que isso usa o local da pasta de documentos my . 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 requer o uso de uma string expansível que torna o arquivo .reg mais difícil de ler e alterar, então eu o pulei nas etapas acima. Além disso, eu não sei onde você realmente quer armazenar os arquivos, então eu simplesmente continuei simples por enquanto.

    
por 13.06.2016 / 18:21