3

У меня есть файл .bat, который делает вызов файла .reg (что-то вроде: regedit mytest.reg). Я запускаю файл .bat от имени администратора, но получаю сообщение об ошибке: «Не удается импортировать mytest.reg: Ошибка при открытии файла. Может быть ошибка диска или файловой системы. "

Однако, если я сначала открою RegEdit (как администратор), затем Файл >> Импорт >> mytest.reg ... он успешно запустится.

Есть идеи?

8 ответов8

2

Была такая же проблема. Как только вы принимаете запуск с повышенными разрешениями, "корень" повышенного сеанса не имеет того же относительного расположения для фактической команды.

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

Теперь вопрос за $ .42 ... каков текущий каталог для повышенного сеанса, в котором выполняется команда?

1

У меня была точно такая же проблема и сообщение об ошибке .. Я не смог получить мой REG-файл из моего пакетного файла на моей 64-битной машине Win7 Pro. Наконец-то он заработал, вставив кавычки вокруг файла REG. (ПРИМЕР)

c:\windows\regedit.exe /s "C:\Windows\ Включить сценарий входа в систему DTS.reg"

Надеюсь, это полезно

1

Файл .reg на сетевом томе? Локальные администраторы не могут нормально читать файлы из всей сети.

1

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

Вы настроили свои настройки UAC? Может быть, когда вы запускаете пакетный файл, все настроено так, чтобы не повышать (или даже запрашивать повышение), чтобы оно не работало.

Но regedit поднимается при загрузке (думаю, независимо от настроек UAC).

0

Попробуйте это из командной строки с повышенными правами CMD:

reg import file.reg
0

Кажется, он не работает с относительным путем, как другие предложили.

Вот что сработало для меня:

Просто добавьте %~dp0 перед именем файла, и он будет использовать заполнение прямого пути к пакетному файлу. Так что, пока файл .reg находится в той же папке, что и пакетный файл, вы можете использовать его.

Например, regedit.exe /s %~dp0registryfile.reg

0

попробуйте использовать ключ /C "regedit /C myfile.reg"

0

Кажется, он не работает с относительным путем, как другие предложили.

Вот что сработало для меня:

Просто добавьте %~dp0 перед именем файла, и он заполнит прямой путь к пакетному файлу. Так что, пока файл .reg находится в той же папке, что и пакетный файл, вы можете использовать его.

Например:

regedit.exe /s %~dp0registryfile.reg

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .