システムファイルやレジストリ等を変更したいときは、
以下のように書くと、管理者権限を取得して BAT ファイルを実行できます。
HideHiddenFiles.cmd
@echo off
rem 隠しファイルを非表示にする。
rem 管理者権限で起動していなければ、管理者権限で再起動する。
openfiles > nul 2>&1
if errorlevel 1 (
PowerShell.exe -Command Start-Process \"%~f0\" -Verb runas
exit /b 9999
goto :exit
)
rem ここから管理者権限
pushd "%~dp0"
setlocal
rem 隠しファイル、隠しフォルダー、および隠しドライブを表示しない -> 再起動後有効になる。
reg add "HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v "Hidden" /t REG_DWORD /d "2" /f >nul
rem 保護された オペレーティング システム ファイルを表示しない -> 再起動後有効になる。
reg add "HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v "ShowSuperHidden" /t REG_DWORD /d "0" /f >nul
endlocal
popd
rem 再起動!
shutdown -r -t 1
:exit
exit /b 9999
HKCUの操作は 管理者権限でなくてもできるので、以下でOKです。
HideHiddenFiles.cmd
@echo off
rem 隠しファイルを非表示にする。
pushd "%~dp0"
setlocal
rem 隠しファイル、隠しフォルダー、および隠しドライブを表示しない -> 再起動後有効になる。
reg add "HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v "Hidden" /t REG_DWORD /d "2" /f >nul
rem 保護された オペレーティング システム ファイルを表示しない -> 再起動後有効になる。
reg add "HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v "ShowSuperHidden" /t REG_DWORD /d "0" /f >nul
endlocal
popd
rem 再起動!
shutdown -r -t 1
exit /b 0