Добавить Показать/Скрыть скрытые папки в контекстное меню Windows 7

Добавить Показать/Скрыть скрытые папки в контекстное меню Windows 7

Недавно меня раздражал тот факт, что в Windows так сложно включить «Показывать скрытые файлы» по сравнению с другими ОС (например, Ubuntu). Я искал способ добавить опцию «Переключить скрытые файлы» в контекстное меню Windows 7, но нашел только сторонние опции. Однако я бы предпочел сделать это сам, а не сторонние опции, просто из-за ненужной функциональности.

Я совершенно уверен, что должен быть способ сделать это с помощью редактора реестра, поскольку добавление других вещей в контекстное меню подразумевает это (из того, что я вижу в других руководствах). Однако я пока не нашел ничего, что могло бы это сделать. Я также предполагаю, что мне понадобится использовать какой-то скрипт, который будет вызываться из записи реестра.

Есть ли у кого-нибудь опыт с этим? Это значительно улучшит мой рабочий процесс, так как я довольно часто переключаюсь между желанием увидеть скрытые файлы и желанием скрыть их. Спасибо!

решение1

Далее VBScript должен выполнить эту работу:

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

А следующий файл конфигурации реестра добавляет вышеуказанную функциональность скрипта для контекстного меню правой кнопки мыши для любой папкифонв Проводнике (а также для фона рабочего стола).

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\""

Пожалуйста, в .regфайле выше настройте следующие пункты в соответствии с вашими обстоятельствами:

  • название пункта менюToggle Hidden Filesи
  • полный путь к скриптуD:\\VB_scripts\\SU\\1088687.vbs(обратите внимание на двойные обратные косые черты).

Для проверки правильности:

==> 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"

==>

Более того, вы можете удалить все строки, содержащиеся sResultв приведенном выше VBscript; тогда скрипт выполнит свою работу автоматически.

решение2

Нужный вам раздел реестра находится здесь:

[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced] "Скрытый"=dword:0000000x

Установите x на 1, чтобы отобразить скрытые файлы и папки, и установите x на 2, чтобы скрыть их.

Итак, мы создадим два файла, которые нам помогут. Нам нужно где-то их хранить, и я буду использовать папку Documents в своих примерах.

Скрытые файлы и папки - show.reg:

Windows Registry Editor Version 5.00

; Show hidden files & folders

[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced]
"Hidden"=dword:00000001

Скрытые файлы и папки - hide.reg:

Windows Registry Editor Version 5.00

; Hide hidden files & folders

[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced]
"Hidden"=dword:00000002

Теперь вы можете проверить работу этих файлов, нажав на них. Вам нужно будет обновить ([F5]), чтобы увидеть, как изменения вступили в силу.

Далее нам нужно внести изменения в реестр, чтобы добавить опцию правой кнопки мыши. Я предполагаю, что мы хотим добавить опцию правой кнопки мыши только для папок. Вот файл .reg, который внесет необходимые изменения:

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\""

Теперь вы можете щелкнуть правой кнопкой мыши по любой папке и выбрать опцию Скрыть или Показать. Вам все равно нужно будет сделать Вид -> Обновить (или нажать [F5]), чтобы увидеть изменения.

Обратите внимание, что здесь используется местоположениемойПапка «Документы». Вам нужно будет внести соответствующие изменения для вашего компьютера.

Мы могли бы сделать это более универсальным и использовать переменную %USERPROFILE%, но это требует использования расширяемой строки, что затрудняет чтение и изменение файла .reg, поэтому я пропустил это в шагах выше. Кроме того, я не знаю, где вы на самом деле хотите хранить файлы, поэтому я просто оставил все простым на данный момент.

Связанный контент