Поместите значение в реестр, используя.reg или.bat или.vbs с типом REG_EXPAND_SZ

Мой рег:

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\cultest]
@="URL:cultest Protocol"
"URL Protocol"=""

[HKEY_CLASSES_ROOT\cultest\DefaultIcon]
@="%APPDATA%\\musicDownloader\\test.bat,0"

[HKEY_CLASSES_ROOT\cultest\shell]

[HKEY_CLASSES_ROOT\cultest\shell\open]

[HKEY_CLASSES_ROOT\cultest\shell\open\command]
@="%APPDATA%\\musicDownloader\\test.bat \"%1\""

Это.reg создает ключи, но моя проблема в том, что я хочу использовать%APPDATA%, и я не могу сделать это с REG_SZ. Можно использовать с REG_EXPAND_SZ, но я не знаю, как это изменить.

2 ответа

Из вашего комментария к другому ответу я предполагаю, что вы на самом деле хотите поместить буквенную строку "%APPDATA%" в раздел реестра, вместо того, чтобы% APPDATA% разрешал себя к его фактическому значению.

Это может быть достигнуто путем экранирования специальных символов, то есть%, в командном файле. Вы просто заменяете каждый % с %%,

Я должен признать, что я никогда не видел, чтобы кто-то использовал такой раздел реестра. Как правило, это фактический путь, который вы хотите использовать. Если этот ключ реестра предназначен для вашей собственной программы, вы, конечно, можете продолжать и делать все, что вам нравится, при чтении / записи ключей. Но если вы пытаетесь использовать чужую программу, я бы спросил, действительно ли то, что вы пытаетесь сделать, это то, что вы хотите сделать. Например, если вы хотите, чтобы% APPDATA% разрешался по-разному в зависимости от пользователя компьютера, вы можете поместить эти ключи реестра в область HKEY_CURRENT_USER, и тогда у каждого пользователя может быть свое значение.

Вы можете поместить в файл.bat следующее:

reg add "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run" /v "SomeValue" /t REG_EXPAND_SZ /d "%SomeVariable%"

Итак, для вашего примера, вы можете использовать:

reg add "HKEY_CLASSES_ROOT\cultest\shell\open\command" /v "musicDownloader" /t REG_EXPAND_SZ /d "%APPDATA%\\musicDownloader\\test.bat \"%1\""

Вышеприведенное не проверено, но должно дать представление о том, как добавить значения reg для файла.bat.

Другие вопросы по тегам