Чтобы добавить новое расширение в "HKEY_CLASSES_ROOT", вам нужно запустить reg.exe
с повышенными правами.
Это значение (default)
устанавливается с помощью переключателя /ve
и /t REG_SZ
reg.exe add "HKEY_CLASSES_ROOT\.disk" /ve /t REG_SZ /d "Bulk Data Storage File"
Если вы хотите изменить текущее значение, добавьте /f
force
Вам нужно будет закрыть / снова открыть окна проводника, чтобы применить это.
Следующая партия поднимет себя и запросит подтверждение, если значение существует - отображение старого / нового содержимого.
:: Q:\Test\2018\06\16\SU_1331760.cmd
@Echo off& setlocal EnableExtensions DisableDelayedExpansion
:: elevate if neccessary
net file 1>nul 2>&1 || (powershell -ex unrestricted -Command ^
"Start-Process -Verb RunAs -FilePath '%comspec%' -ArgumentList '/c %~f0 %*'"
goto :eof)
:: Put code here that needs elevation
Set "Key=HKEY_CLASSES_ROOT\.disk"
Set "Dat=Bulk Data Storage File"
Set "Typ=REG_SZ"
Set "OLD="
:: reed present value, and ask for confirmation
for /f "tokens=1,2*" %%A in (
'REG QUERY "%Key%" /VE ^|find /I "REG_SZ" '
) Do Set "OLD=%%C"
If defined OLD (
Echo=
Echo do you want to replace:
Echo Old:%OLD%
ECHO New:%Dat%
Echo=
Choice
If errorlevel 2 exit /B 1
)
Echo REG ADD "%Key%" /ve /t %Typ% /d "%Dat%" /f
REG ADD "%Key%" /ve /t %Typ% /d "%Dat%" /f
Pause