Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] reg при обращении к разделу, содержащему знаки %

Ответить
Настройки темы
CMD/BAT - [решено] reg при обращении к разделу, содержащему знаки %

Новый участник


Сообщения: 44
Благодарности: 6

Профиль | Отправить PM | Цитировать


Не могу понять, как экранировать знак % при обращении к реестру
Код: Выделить весь код
reg query HKCU\Console\%%SystemRoot%%_system32_cmd.exe
Ошибка: Не удается найти указанный раздел или параметр в реестре.

Отправлено: 12:40, 08-12-2019

 


Moderator


Сообщения: 53170
Благодарности: 15429

Профиль | Отправить PM | Цитировать


TolikD, пример:
Код: Выделить весь код
set V=HKCU\Console\%%SystemRoot%%_system32_cmd.exe
reg query %V%
Это сообщение посчитали полезным следующие участники:

Отправлено: 13:09, 08-12-2019 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Новый участник


Сообщения: 44
Благодарности: 6

Профиль | Отправить PM | Цитировать


Да, работает.
То есть без set я так понял не обойтись? Мне не принципиально, просто интересно.

Отправлено: 13:28, 08-12-2019 | #3


Ветеран


Сообщения: 27449
Благодарности: 8086

Профиль | Отправить PM | Цитировать


TolikD, у меня работает и первый вариант:
Скрытый текст



Windows 7 SP1 x64.
Это сообщение посчитали полезным следующие участники:

Отправлено: 16:50, 08-12-2019 | #4


Ветеран


Сообщения: 1274
Благодарности: 564

Профиль | Отправить PM | Цитировать


Цитата TolikD:
Да, работает »
а я думаю что этот ключ то есть, то нет
Цитата Iska:
у меня работает и первый вариант »
а у меня нет, выдает в точности как у TolikD
Цитата TolikD:
Не удается найти указанный раздел или параметр в реестре »
[у меня также Windows 7 SP1 x64]
залез в реестр ручками - нет такого ключа у меня, для проверки можно запустить:
Код: Выделить весь код
reg query "HKCU\Console" /s|find "cmd.exe"
у меня, естественно, пусто.

Отправлено: 22:28, 08-12-2019 | #5


Новый участник


Сообщения: 44
Благодарности: 6

Профиль | Отправить PM | Цитировать


Windows 7 SP1 x86
На данный момент у меня работает и первый вариант, при том, что в прошлый раз не работал.
Не пойму с чем это связано...

Отправлено: 17:40, 09-12-2019 | #6


Ветеран


Сообщения: 1274
Благодарности: 564

Профиль | Отправить PM | Цитировать


Цитата TolikD:
Не пойму с чем это связано... »
вероятно все-таки с
Цитата alpap:
я думаю что этот ключ то есть, то нет »
Это сообщение посчитали полезным следующие участники:

Отправлено: 22:38, 09-12-2019 | #7


Новый участник


Сообщения: 44
Благодарности: 6

Профиль | Отправить PM | Цитировать


alpap, есть ещё вариант, что тестировал экранирование то в батнике, то в командной строке и банально сам себя запутал. Там по разному работает. Попробуй выполнить в cmd.exe
Код: Выделить весь код
set V=HKCU\Console\%%SystemRoot%%_system32_cmd.exe & reg query %V%
Тут я не понимаю, какой должен быть синтаксис.

Отправлено: 01:27, 12-12-2019 | #8


Ветеран


Сообщения: 1274
Благодарности: 564

Профиль | Отправить PM | Цитировать


TolikD,
так как написано не будет работать, переменная не раскроется в этой же строке, надо команду с переменной писать на новой строке:
Код: Выделить весь код
set V=HKCU\Console\%%SystemRoot%%_system32_cmd.exe
reg query %V%
я вообще не понимаю как выглядит этот ключ, я пытался создать такой для проверки - не получается
что выводит команда:
Код: Выделить весь код
reg query "HKCU\Console" /s|find "cmd.exe"
сделал себе такой ключ, в bat файле спокойно вывожу содержимое командой:
Код: Выделить весь код
reg query "HKCU\Console\%SystemRoot%_system32_cmd.exe"
точно такой же командой вижу содержимое и из ком. строки.

Последний раз редактировалось alpap, 12-12-2019 в 12:19.

Это сообщение посчитали полезным следующие участники:

Отправлено: 10:23, 12-12-2019 | #9


Новый участник


Сообщения: 44
Благодарности: 6

Профиль | Отправить PM | Цитировать


Да, действительно, команда set так не работает, как я думал
Код: Выделить весь код
C:\Windows\system32>set a=hello & echo %a%
%a%
C:\Windows\system32>echo %a%
hello
Теперь понятно, как надо делать в одну строку
Код: Выделить весь код
C:\Windows\system32>set a=hello & call echo %a%
hello
Но это не меняет дело, экранирование всё равно не работает
Код: Выделить весь код
C:\Windows\system32>set V=HKCU\Console\%%SystemRoot%%_system32_cmd.exe & call echo %V%
HKCU\Console\%C:\Windows%_system32_cmd.exe
Код: Выделить весь код
C:\Windows\system32>set V=HKCU\Console\%%SystemRoot%%_system32_cmd.exe

C:\Windows\system32>set V
V=HKCU\Console\%C:\Windows%_system32_cmd.exe
Из батника же всё нормально
Код: Выделить весь код
set V=HKCU\Console\%%SystemRoot%%_system32_cmd.exe
echo %V%
Код: Выделить весь код
C:\temp>set V=HKCU\Console\%SystemRoot%_system32_cmd.exe

C:\temp>echo HKCU\Console\%SystemRoot%_system32_cmd.exe
HKCU\Console\%SystemRoot%_system32_cmd.exe
Цитата:
я вообще не понимаю как выглядит этот ключ, я пытался создать такой для проверки - не получается
что выводит команда:
Этот ключ создаётся не тогда, когда делаешь запуск cmd.exe c ярлыка в пуске или пункта "Выполнить", а когда непосредственно делаешь запуск батника "file.cmd"

Последний раз редактировалось TolikD, 12-12-2019 в 18:27.


Отправлено: 18:01, 12-12-2019 | #10



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] reg при обращении к разделу, содержащему знаки %

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Разное - Подтупливание HDD при обращении bziki.t4 Металлолом 1 12-08-2012 16:32
MSFT SQL Server - Падение БД при обращении пользователей DruOleg Программирование и базы данных 0 15-09-2010 14:04
Прочее - При разных админских паролях вылетает запрос при обращении aka_smile Сетевые технологии 3 28-10-2009 17:16
Интерфейс - При вставке из буфера вместо русских знаки вопроса torrri Microsoft Windows 2000/XP 3 23-03-2008 22:23
Ошибка при обращении к диску Masick Microsoft Windows 2000/XP 19 18-05-2006 18:20




 
Переход