@echo off title %~nx0 REM ################################################################################## REM * エクスプローラのファイルの表示設定を切替します REM http://www10.plala.or.jp/palm84/archives/commandline/backup/Explorer_ShowHiddenFiles.bat.txt REM https://eu7w9wsmf6a74xyjdfzl3q-on.drv.tw/archives/commandline/backup/Explorer_ShowHiddenFiles.bat.txt REM ################################################################################## REM ### UAC Check REM ##################################### set Policies=HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System for /f "usebackq tokens=3" %%x in (`reg query %Policies% /v EnableLUA 2^>nul ^| findstr /i EnableLUA`) do set "EnableLUA=%%x" if "%EnableLUA%"=="0x1" ( if /i not "%cd%"=="%windir%\system32" GOTO UAC ) pushd %~dp0 set temp_dir=%temp%\%random% mkdir %temp_dir% set SHOW_ALL=%temp_dir%\SHOW_ALL.inf set HIDE_ALL=%temp_dir%\HIDE_ALL.inf cls echo: echo ************************************************************** echo * * echo * === エクスプローラのファイルの表示設定を切替します === * echo * * echo * === * 念のために現在のレジストリも === * echo * === * バックアップしてから実行します。 === * echo * === * 元に戻すことも可能です... === * echo * * echo ************************************************************** echo: echo 続行しますか? 中断は xボタン or Ctrl-C echo: echo *** 何かキーを押すと続行します *** pause >nul :MENU cls set choice= echo: echo ************************************************************** echo * * echo * === 1. 隠しファイル・システムファイル・拡張子を表示 === * echo * * echo * === z. 上記を表示しない(Windows XP の初期設定) === * echo * === 00. バックアップファイルから設定を復元する === * echo * === 99. 終了する === * echo * * echo *** 数字を入力して Enter *** echo ************************************************************** echo: set /p choice= [1,z,00,99] : if "%choice%"=="1" GOTO BACKUP if /i "%choice%"=="z" GOTO BACKUP if "%choice%"=="00" GOTO RESTORE if "%choice%"=="99" GOTO CANCEL GOTO MENU REM ##################################### REM ### バックアップ REM ##################################### :BACKUP set BackUp_File=BackUp_Explorer_reg.txt set BackUp_RegKey=HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced if not exist "%BackUp_File%" GOTO REG_BACK :ASK cls set ask= echo: echo: echo ============================================================== echo %BackUp_File% が存在します。上書きしてもいいのでせうか? echo ============================================================== echo: set /p ask= [y,n] : echo: if /i "%ask%"=="y" GOTO REG_BACK if /i "%ask%"=="n" GOTO MENU GOTO ASK :REG_BACK regedit /e "%BackUp_File%" "%BackUp_RegKey%" if not exist "%BackUp_File%" GOTO REG_ERRO echo: echo ****************************************************************** echo 現在のレジストリを %BackUp_File% として保存しました... echo ****************************************************************** echo: echo *** 何かキーを押すと続行します *** pause >nul if /i "%choice%"=="1" GOTO SHOW_ALL if /i "%choice%"=="z" GOTO HIDE_ALL REM ##################################### REM ### SHOW_ALL REM ##################################### :SHOW_ALL set HKLM_SHOWALL=SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Folder\Hidden\SHOWALL set HKLM_HideFileExt=SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Folder\HideFileExt set HKLM_SuperHidden=SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Folder\SuperHidden set Reg_Temp=%temp_dir%\HKLM_SHOWALL.inf REM ## Write INI file -- Reg_Temp(HKLM) > "%Reg_Temp%" echo [Version] >>"%Reg_Temp%" echo Signature="$Chicago$" >>"%Reg_Temp%" echo: >>"%Reg_Temp%" echo [DefaultInstall] >>"%Reg_Temp%" echo AddReg=SHOWALL >>"%Reg_Temp%" echo: >>"%Reg_Temp%" echo [SHOWALL] >>"%Reg_Temp%" echo HKLM, %HKLM_SHOWALL%,CheckedValue,0x10001,1 >>"%Reg_Temp%" echo HKLM, %HKLM_SHOWALL%,Type,0x00000,radio >>"%Reg_Temp%" echo HKLM, %HKLM_HideFileExt%,CheckedValue,0x10001,1 >>"%Reg_Temp%" echo HKLM, %HKLM_HideFileExt%,UncheckedValue,0x10001,0 >>"%Reg_Temp%" echo HKLM, %HKLM_SuperHidden%,CheckedValue,0x10001,0 >>"%Reg_Temp%" echo HKLM, %HKLM_SuperHidden%,UncheckedValue,0x10001,1 REM ## Rundll32.exe run -- Reg_Temp(HKLM) rundll32 syssetup,SetupInfObjectInstallAction DefaultInstall 128 %Reg_Temp% if ERRORLEVEL 1 GOTO INF_ERRO set Exp_RegKey=Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced REM ## Write INI file -- SHOW_ALL(HKCU) > "%SHOW_ALL%" echo [Version] >>"%SHOW_ALL%" echo Signature="$Chicago$" >>"%SHOW_ALL%" echo: >>"%SHOW_ALL%" echo [DefaultInstall] >>"%SHOW_ALL%" echo AddReg=SHOW_ALL >>"%SHOW_ALL%" echo: >>"%SHOW_ALL%" echo [SHOW_ALL] >>"%SHOW_ALL%" echo HKCU, %Exp_RegKey%,SuperHidden,0x00010001,1 >>"%SHOW_ALL%" echo HKCU, %Exp_RegKey%,Hidden,0x00010001,1 >>"%SHOW_ALL%" echo HKCU, %Exp_RegKey%,HideFileExt,0x00010001,0 >>"%SHOW_ALL%" echo HKCU, %Exp_RegKey%,ShowSuperHidden,0x00010001,1 REM ## Rundll32.exe run -- SHOW_ALL(HKCU) rundll32 syssetup,SetupInfObjectInstallAction DefaultInstall 128 %SHOW_ALL% if ERRORLEVEL 1 GOTO INF_ERRO if not ERRORLEVEL 1 GOTO DONE REM ##################################### REM ### HIDE_ALL REM ##################################### :HIDE_ALL set Exp_RegKey=Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced REM ## Write INI file -- HIDDEN_ALL(HKCU) > "%HIDE_ALL%" echo [Version] >>"%HIDE_ALL%" echo Signature="$Chicago$" >>"%HIDE_ALL%" echo: >>"%HIDE_ALL%" echo [DefaultInstall] >>"%HIDE_ALL%" echo AddReg=HIDE_ALL >>"%HIDE_ALL%" echo: >>"%HIDE_ALL%" echo [HIDE_ALL] >>"%HIDE_ALL%" echo HKCU, %Exp_RegKey%,SuperHidden,0x00010001,0 >>"%HIDE_ALL%" echo HKCU, %Exp_RegKey%,Hidden,0x00010001,2 >>"%HIDE_ALL%" echo HKCU, %Exp_RegKey%,HideFileExt,0x00010001,1 >>"%HIDE_ALL%" echo HKCU, %Exp_RegKey%,ShowSuperHidden,0x00010001,0 REM ## Rundll32.exe run -- HIDDEN_ALL(HKCU) rundll32 syssetup,SetupInfObjectInstallAction DefaultInstall 128 %HIDE_ALL% if ERRORLEVEL 1 GOTO INF_ERRO GOTO DONE REM ##################################### REM ### RESTORE REM ##################################### :RESTORE set BackUp_File=BackUp_Explorer_reg.txt if not exist "%BackUp_File%" GOTO WAIT regedit "%BackUp_File%" echo: echo ****************************************************************** echo エラーメッセージが出なければ復元は成功です... echo ****************************************************************** echo: echo *** 何かキーを押すと終了します *** pause >nul GOTO DONE REM ##################################### REM ### UAC REM ##################################### :UAC echo: echo: echo: echo !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! echo: echo !「管理者として実行」してくださいマセ ! echo: echo !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! echo: GOTO END REM ##################################### REM ### Error REM ##################################### :WAIT echo: echo ! %BackUp_File%がありません... echo: echo 何かキーを押すとメニューに戻ります... echo: pause >nul GOTO MENU :REG_ERRO echo: echo レジストリのバックアップができませんでした... echo キャンセルします... echo: pause >nul GOTO END :INF_ERRO echo: echo 実行時エラーが出てしまいました... echo キャンセルします... echo: GOTO END :CANCEL echo: echo キャンセルしますた... GOTO END REM ##################################### REM ### DONE REM ##################################### :DONE cls echo: echo: echo: echo 終了しました... echo: GOTO END :END echo: echo *** 何かキーを押すと閉じます *** echo: pause >nul rd /s /q "%temp_dir%"