最近我一直被一個事實所困擾,那就是與其他作業系統(即 Ubuntu)相比,在 Windows 中開啟「顯示隱藏檔案」是如此困難。我一直在尋找一種方法來將「切換隱藏檔案」選項新增到 Windows 7 上下文功能表中,但只找到了第 3 方選項。然而,我更喜歡自己做,而不是第三方選項,只是為了不必要的功能。
我非常確定必須有一種方法可以使用註冊表編輯器來執行此操作,因為向上下文選單添加其他內容涉及到這一點(從我在其他教程中看到的)。然而,我還沒有發現什麼可以做的。我還假設我需要使用某種從註冊表項呼叫的腳本。
有人對這個有經驗呢?這將極大地改善我的工作流程,因為我經常在想要查看隱藏文件和隱藏它們之間切換。謝謝!
答案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 檔案更難以讀取和更改,因此我在上面的步驟中跳過了它。另外,我不知道你真正想在哪裡儲存文件,所以我現在只是保持簡單。