Войти

Показать полную графическую версию : [решено] Показать скрытые файлы


BKPB
17-07-2020, 22:20
Помогите подправить скрипт, что бы вместо "Показать расширения / Скрыть расширения,
скрипт выполнял команду "Показать скрытые файлы / Не показывать скрытые файлы".
Не другой написать, а именно подправить команду на выполнение.

Hive1 = "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced\HideFileExt"
Hive2 = "HKCU\Software\Classes\Directory\Background\shell\HideFileExt"

With CreateObject("WScript.Shell")
If WSH.Arguments.Count Then
' В следующей строке для переменной I прописаны номера иконок в:
If CreateObject("Shell.Application").GetSetting(2) Then _
K = 1 : W = "Показа" : I = 55 Else K = 0 : W = "Скры" : I = 66
.RegWrite Hive1, K, "REG_DWORD"
.RegWrite Hive2 & "\", W & "ть расширения", "REG_SZ"
.RegWrite Hive2 & "\command\", "WScript.exe """ & WSH.ScriptFullName & """ 1", "REG_SZ"
.RegWrite Hive2 & "\Icon", "%WinDir%\RRT\" & I & ".ico", "REG_SZ"
.SendKeys "{F5}"
Else
On Error Resume Next : .Regread Hive2
If Err.Number = 0 Then .RegDelete Hive2 & "\" Else .Run """" & WSH.ScriptFullName & """ 1"
End If
End With

BKPB
18-07-2020, 11:18
Sham, дело не в названиях, а в том, что нужна команда для отображения скрытых файлов.

BKPB
18-07-2020, 14:12
Решено:
Option Explicit: Dim Hive1, Hive2, K, W, I, x
Hive1 = "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced\"
Hive2 = "HKCR\Directory\Background\shell\Hidden"

On Error Resume Next
With CreateObject("WScript.Shell")
.Regread Hive2: If Err.Number <> 0 Then Err.Clear:_
Hive2 = "HKCU\Software\Classes\Directory\Background\shell\Hidden"
If WSH.Arguments.Count Then
If .Regread(Hive1 & "Hidden") = 1 Then K = 0: W = "П": I = 1 Else K = 1: W = "Не п": I = 2
For Each x in Split(" ShowSuper"): .RegWrite Hive1 & x & "Hidden", K, "REG_DWORD": Next
.RegWrite Hive2 & "\", W & "оказывать скрытые файлы и папки", "REG_SZ"
.RegWrite Hive2 & "\command\", "WScript.exe """ & WSH.ScriptFullName & """ 1", "REG_SZ"
.RegWrite Hive2 & "\Icon", "%WinDir%\RRT\" & I & ".ico", "REG_SZ"
.SendKeys "{F5}"
Else
.Regread Hive2
If Err.Number = 0 Then .RegDelete Hive2 & "\" Else .Run """" & WSH.ScriptFullName & """ 1"
End If
End With

Iska
18-07-2020, 22:26
Руки бы поотрывать за такой код.




© OSzone.net 2001-2012