|
运行过程中发现有权限错误,我优化了代码:
@Echo Off
Title 右键添加隐藏/显示文件及扩展名工具 & Color 0A
cd %systemroot%\system32
call :IsAdmin
set HideFileExt=%WINDIR%\SYSTEM32\HideFileExt.vbs
REM 创建VBS脚本
echo Dim WSHShell>%HideFileExt%
echo Set WSHShell = WScript.CreateObject("WScript.Shell")>>%HideFileExt%
echo. >>%HideFileExt%
echo ' 读取当前隐藏状态>>%HideFileExt%
echo If WSHShell.RegRead("HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Hidden") = 1 Then>>%HideFileExt%
echo ' 若当前显示隐藏文件,则设置为隐藏>>%HideFileExt%
echo WSHShell.RegWrite "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Hidden", 2, "REG_DWORD">>%HideFileExt%
echo WSHShell.RegWrite "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced\HideFileExt", 1, "REG_DWORD">>%HideFileExt%
echo WSHShell.RegWrite "HKCU\Software\Classes\Directory\Background\shell\HideFileExt\MuiVerb","显示文件及扩展名","REG_SZ">>%HideFileExt%
echo WSHShell.Popup "已隐藏系统文件和扩展名", 1, "操作成功", vbInformation>>%HideFileExt%
echo Else>>%HideFileExt%
echo ' 若当前隐藏文件,则设置为显示>>%HideFileExt%
echo WSHShell.RegWrite "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Hidden", 1, "REG_DWORD">>%HideFileExt%
echo WSHShell.RegWrite "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced\HideFileExt", 0, "REG_DWORD">>%HideFileExt%
echo WSHShell.RegWrite "HKCU\Software\Classes\Directory\Background\shell\HideFileExt\MuiVerb","隐藏文件及扩展名","REG_SZ">>%HideFileExt%
echo WSHShell.Popup "已显示系统文件和扩展名", 1, "操作成功", vbInformation>>%HideFileExt%
echo End If>>%HideFileExt%
echo. >>%HideFileExt%
echo ' 刷新资源管理器>>%HideFileExt%
echo WSHShell.SendKeys "{F5}">>%HideFileExt%
echo Set WSHShell = Nothing>>%HideFileExt%
REM 创建注册表项(用户级别)
Reg add "HKCU\Software\Classes\Directory\Background\shell\HideFileExt" /v "MuiVerb" /t REG_SZ /d "隐藏文件及扩展名" /f
Reg add "HKCU\Software\Classes\Directory\Background\shell\HideFileExt" /v "Icon" /t REG_EXPAND_SZ /d "%%WINDIR%%\System32\SHELL32.DLL,130" /f
Reg add "HKCU\Software\Classes\Directory\Background\shell\HideFileExt\Command" /ve /t REG_EXPAND_SZ /d "wscript.exe \"%%WINDIR%%\System32\HideFileExt.vbs\"" /f
Exit
:IsAdmin
Reg.exe query "HKU\S-1-5-19\Environment"
If Not %ERRORLEVEL% EQU 0 (
Cls & Echo You must have administrator rights to continue ...
Pause & Exit
)
Cls
goto:eof |
|