Если вы запустите его как есть, вы увидите, что значение, добавленное в реестр, на самом деле HKEY_CURRENT_USER\Software\Microsoft\VBA\7.0" /f
- включая потерянную кавычку и значение, /f
которое было задано в качестве отдельного аргумента.
Проблема здесь в том, что вы добавляете слишком много кавычек через саму переменную, не говоря уже о вызове переменной, и, как таковой, это сбивает с толку то, Reg
где аргументы начинаются и заканчиваются.
Удалите все эти посторонние кавычки, и это работает как задумано:
@ECHO OFF SET RegPath=HKEY_CURRENT_USER\Software\Microsoft\VBA\7.0\ REG ADD "HKCU\Software\Microsoft\Windows\CurrentVersion\Applets\Regedit" /v LastKey /t REG_SZ /d %RegPath% /f START RegEdit