In letzter Zeit hat es mich geärgert, dass es in Windows im Vergleich zu anderen Betriebssystemen (z. B. Ubuntu) so schwierig ist, „Versteckte Dateien anzeigen“ zu aktivieren. Ich habe nach einer Möglichkeit gesucht, dem Kontextmenü von Windows 7 eine Option zum „Ein-/Ausblenden von versteckten Dateien“ hinzuzufügen, habe aber nur Optionen von Drittanbietern gefunden. Ich würde es jedoch lieber selbst machen als eine Option von Drittanbietern, nur wegen der unnötigen Funktionalität.
Ich bin ziemlich sicher, dass es eine Möglichkeit geben muss, dies mit dem Registrierungseditor zu tun, da dies auch mit dem Hinzufügen anderer Elemente zum Kontextmenü verbunden ist (soweit ich das aus anderen Tutorials erkenne). Ich habe jedoch bisher nichts gefunden, was man tun könnte. Ich gehe auch davon aus, dass ich ein Skript irgendeiner Art verwenden muss, das vom Registrierungseintrag aufgerufen wird.
Hat jemand Erfahrung damit? Es würde meinen Arbeitsablauf erheblich verbessern, da ich ziemlich oft zwischen dem Wunsch, versteckte Dateien anzuzeigen und dem Ausblenden derselben wechsle. Danke!
Antwort1
Als nächstes sollte das VBScript die Aufgabe erledigen:
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
Und die folgende Registrierungskonfigurationsdatei fügt die obige Skriptfunktionalität dem Kontextmenü mit der rechten Maustaste für jeden Ordner hinzuHintergrundim Datei-Explorer (und auch für den Desktop-Hintergrund).
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\""
Bitte .reg
passen Sie in der obigen Datei die folgenden Elemente Ihren Umständen entsprechend an:
- Name des Menüelements
Toggle Hidden Files
Und - vollständiger Pfad zum Skript
D:\\VB_scripts\\SU\\1088687.vbs
(Beachten Sie die doppelten Backslashes).
So überprüfen Sie die Richtigkeit:
==> 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"
==>
Darüber hinaus können Sie alle Zeilen entfernen, die sResult
das obige VB-Skript enthalten. Dann führt das Skript die Arbeit im Hintergrund aus.
Antwort2
Den gesuchten Registrierungsschlüssel finden Sie hier:
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced] "Versteckt"=dword:0000000x
Setzen Sie x auf 1, um die versteckten Dateien und Ordner anzuzeigen, und setzen Sie x auf 2, um sie auszublenden.
Wir erstellen also zwei Dateien, die uns dabei helfen. Wir müssen sie irgendwo speichern. In meinen Beispielen verwende ich den Ordner „Dokumente“.
Versteckte Dateien und Ordner – show.reg:
Windows Registry Editor Version 5.00
; Show hidden files & folders
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced]
"Hidden"=dword:00000001
Versteckte Dateien und Ordner – hide.reg:
Windows Registry Editor Version 5.00
; Hide hidden files & folders
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced]
"Hidden"=dword:00000002
Sie können nun die Funktion dieser Dateien testen, indem Sie darauf klicken. Sie müssen aktualisieren ([F5]), damit die Änderungen wirksam werden.
Als nächstes müssen wir eine Änderung in der Registrierung vornehmen, um die Rechtsklick-Option hinzuzufügen. Ich gehe davon aus, dass wir die Rechtsklick-Option nur zu Ordnern hinzufügen möchten. Hier ist eine .reg-Datei, die die erforderlichen Änderungen vornimmt:
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\""
Jetzt können Sie mit der rechten Maustaste auf einen beliebigen Ordner klicken und die Option Ausblenden oder Anzeigen auswählen. Sie müssen noch immer Ansicht -> Aktualisieren (oder [F5] drücken) ausführen, um die Änderungen anzuzeigen.
Beachten Sie, dass hierbei der Standort vonMeinOrdner „Dokumente“. Sie müssen die entsprechenden Änderungen für Ihren Computer vornehmen.
Wir könnten dies universeller gestalten und die Variable %USERPROFILE% verwenden, aber das erfordert die Verwendung einer erweiterbaren Zeichenfolge, wodurch die .reg-Datei schwieriger zu lesen und zu ändern ist. Daher habe ich dies in den obigen Schritten übersprungen. Außerdem weiß ich nicht, wo Sie die Dateien wirklich speichern möchten, also habe ich es vorerst einfach gehalten.