Edited at

管理者権限で BAT ファイルを起動

システムファイルやレジストリ等を変更したいときは、

以下のように書くと、管理者権限を取得して 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