Попробуйте:
@echo off && setlocal EnableDelayedExpansion
title <nul && title ...\%~nx0 && cd /d "%~dp0" && mode 50,6 && echo/
for %%i in (ProgramFiles,ProgramFiles(x86^),ProgramW6432)do if /i defined %%~i (
for /f tokens^=^* %%z in ('%__APPDIR__%where.exe /r "!%%~i!" "chrome.exe" 2^>nul
')do set "_path_chrome=%%~z" && goto :_reg_add_:
)
:_reg_add_:
>nul (
"%__APPDIR__%reg.exe" add "HKCU\Software\Classes\.txt" /ve /d "txtfile" /f
"%__APPDIR__%reg.exe" add "HKCU\Software\Classes\txtfile" /ve /d "Text Document" /f
"%__APPDIR__%reg.exe" add "HKCU\Software\Classes\txtfile\shell\open\command" /ve /d "\"!_path_chrome:\=\\!\" \"file:///%%L\"" /f
) 2>nul && endlocal || (endlocal && echo/Something is very wrong here^!!) & %__APPDIR__%timeout.exe -1
Используйте for
l oop и получите полный путь к Chrome.exe
, сохранить его в переменной и заменить \
на \\
для добавления значения пути в регистр ...
Добавить записи в Windows зарегистрируйтесь с этим макетом:
1) Используйте %%L
вместо %L
2) Используйте \"file:///%%L\"
вместо \"%L\"
3) Используйте "\"!_path_chrome:\=\\!\"
вместо \"!_path_chrome\"
Использование: \"C:\\Program Files\\Google\\Chrome\\Application\\chrome.exe\"
Не: \"C:\Program Files\Google\Chrome\Application\chrome.exe\"