Додати Показати / приховати приховані папки в контекстне меню Windows 7


0

Нещодавно мене непокоїть той факт, що в Windows важко включити "Показати приховані файли" порівняно з іншими ОС (тобто Ubuntu). Я шукав спосіб додати опцію "Увімкнути приховані файли" до контекстного меню Windows 7, але придумав лише сторонні варіанти. Однак я вважаю за краще робити це самостійно, на відміну від сторонніх варіантів, просто для непотрібної функціональності.

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

Хтось має з цим досвід? Це значно покращить мій робочий процес, оскільки я перемикаюся між бажаючими бачити приховані файли та ховаю їх досить часто. Дякую!


Чи є у вас методи для кожного кроку? 1. Як додати нові параметри правої кнопки миші. 2. Який запис реєстру змінює стан видимості прихованих файлів. 3. Як скриптувати if / else - reg add, щоб значення реєстру чергувались між 0 і 1. Крок 3 може бути можливим за допомогою однієї, тривалої та складної команди, але я б пішов із сценарієм.
benJephunneh

"Це значно покращило б мій робочий процес, оскільки я перемикаюся між бажаючими бачити приховані файли та ховаю їх досить часто." Якщо вам потрібно зробити це, щось не так з вашим робочим процесом. Що таке проблема XY?
DavidPostill

Відповіді:


0

Наступний 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 вище; тоді сценарій виконає роботу мовчки.


Прошу вибачення за те, що не повернувся до цього раніше! Я працював, а потім зовсім забув про це! Єдине, що цього не робить (і я цього не просив раніше) - це переключення контекстного меню між "Сховати приховані файли" і "Показати приховані файли". Але я безумовно ціную це!
Кендалл

0

Ключ реєстру, який ви шукаєте, тут:

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

Встановіть x на 1, щоб відобразити приховані файли та папки, а x на 2, щоб приховати їх.

Тож ми зробимо два файли, щоб допомогти нам. Нам потрібно їх десь зберігати, і я використовуватиму папку «Документи» у своїх прикладах.

Приховані файли та папки - show.reg:

Windows Registry Editor Version 5.00

; Show hidden files & folders

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

Приховані файли та папки - hid.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 більш важким для читання та зміни, тому я пропустив його на кроках вище. Крім того, я не знаю, де ви насправді хочете зберігати файли, тому я просто зараз просто простягнув це.


Це не дасть йому перемикатися. Сценарій буде досить легко, а потім просто "додати рег ..." на основі умови if / else.
benJephunneh

Домовились. Просто пропонував дорожню карту про те, як її вирішити.
JimBurd
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.