Импорт Reg-файла

Паразит

Пользователь
Сообщения
61
Симпатии
2
Баллы
18
#1
Привет.

Как узнать, что импорт REG-файла прошёл успешно?

Допустим, я запускаю батник с таким содержимым.

reg import "C:\Kemp\111.reg"
echo %errorlevel%

Reg-файл имеет такое содержимое.

[HKEY_CURRENT_USER\Software\111]

В любом случае возвращается 0.

Даже если доступ к ключу запрещён, и ничего не вносится.
Даже если корневого раздела не существует.

Во всех справках говорится, что при сбое будет возвращена единица.
 
Последнее редактирование:

Dragokas

Very kind Developer
Команда форума
Супер-Модератор
Разработчик
Клуб переводчиков
Сообщения
5,962
Симпатии
5,784
Баллы
588
#2
Reg-файл имеет такое содержимое.
reg-файл не может иметь такое содержимое.
У него, как минимум, должен быть ещё и заголовок:

Windows Registry Editor Version 5.00
Я не знаю, почему у вас 0. У меня на Win7 все возвращает, как положено - 1, если ошибка.
regedit (на счёт reg.exe не скажу, но скорее всего так же) может импортировать данные из .reg, пропустив часть из них, где есть конфликты доступа и т.п.
Возможно, в каких-то случаях, он будет выдавать код возврата не такой, как ожидаете.
Приведите ваш эксперимент полностью.

В какой ОС запускаете, и как запускаете, с командной строки, или из бат-файла, cmd или bat, EnableExtensions включено или нет.
Ваш полный текст reg-файла.
[HKEY_CURRENT_USER\Software\111] - почему должен выдавать ошибку. Если заблокировали, то каким образом? Если 111 - уже существует, то запрет ничего не даст, раздел уже есть, запись не требуется.

В большинстве случаев достаточно:
Код:
reg import "C:\Kemp\111.reg" && echo OK
Но если нужна экстра-безопасность, можно проверить всё по отдельности через reg query :)
 

Паразит

Пользователь
Сообщения
61
Симпатии
2
Баллы
18
#3
@Dragokas, ну как должен выглядить батник?

Так?

Код:
regedit /s C:\Temp\111.reg

echo %errorlevel%
А как тогда вывести результат в STDOUT?
 
Последнее редактирование:

Dragokas

Very kind Developer
Команда форума
Супер-Модератор
Разработчик
Клуб переводчиков
Сообщения
5,962
Симпатии
5,784
Баллы
588
#4
Я у вас другое спрашивал.
 

Паразит

Пользователь
Сообщения
61
Симпатии
2
Баллы
18
#5
Reg-файл нормальный.
Код:
Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Software\111]

[HKEY_CURRENT_USER\Software\111\222]
Содержимое батника.

Код:
regedit /s C:\Temp\111.reg

echo %errorlevel%
Сообщения объединены:

Ключ реестра заблокирован запретом доступа CACL.
Система XP.
 
Последнее редактирование:

Dragokas

Very kind Developer
Команда форума
Супер-Модератор
Разработчик
Клуб переводчиков
Сообщения
5,962
Симпатии
5,784
Баллы
588

Dragokas

Very kind Developer
Команда форума
Супер-Модератор
Разработчик
Клуб переводчиков
Сообщения
5,962
Симпатии
5,784
Баллы
588
#7
Что в итоге, разобрался?
Сообщения объединены:

Ключ реестра заблокирован запретом доступа CACL.
Какой именно?
Сообщения объединены:

Пора обновляться.
На Хрюше всё совсем по-другому. И консольные утилиты по работе с реестром там с довольно ограниченным функционалом. Ты же видел в консоли, что при импорте было написано "Операция успешно завершена". Т.е. утилита reg.exe там изначально неправильно определяет состояние операции. Так что на XP только reg query.
 
Последнее редактирование:

Паразит

Пользователь
Сообщения
61
Симпатии
2
Баллы
18
#8
Короче, бросил я это дело.
Буду искать другой вариант. Потому что, ни regedit.exe ни reg.exe не пишут в STDOUT.
 

Dragokas

Very kind Developer
Команда форума
Супер-Модератор
Разработчик
Клуб переводчиков
Сообщения
5,962
Симпатии
5,784
Баллы
588
#9
Как так? reg.exe пишет в STDOUT.
regedit не пишет, т.к. это графическая утилита.
 

Паразит

Пользователь
Сообщения
61
Симпатии
2
Баллы
18
#10
Ну сделай скрипт на любом языке (vbs,jscript,cmd), который будет писать в раздел, допустим, "HKEY_CURRENT_USER\Environment"
параметр "Sport", со значением "Foot". С сообщением или с логом, об ошибке или об удаче.
Потом удаляем этот параметр. Запрещаем к разделу "HKEY_CURRENT_USER\Environment" доступ через безопасность.
И опять пытаемся внести этот же параметр. С сообщением или с логом, об ошибке или об удаче.
 

Dragokas

Very kind Developer
Команда форума
Супер-Модератор
Разработчик
Клуб переводчиков
Сообщения
5,962
Симпатии
5,784
Баллы
588
#11
Последнее редактирование:
Сверху Снизу