Это довольно просто. Но я хочу написать это. Я думал, что мог бы просто использовать REG ADD, но я не уверен, как включить @="@SYS:DoesNotExist"часть в конце.
2 ответа на вопрос
1
Kinnectus
Создайте свой пакетный файл, например, fix.batсо следующим содержимым:
Запустите пакет, и он создаст ваш файл с нужным содержимым. Вы можете вручную объединить файл .reg или пойти еще дальше и использовать пакетный файл для объединения fix.regфайла, созданного с помощью сценария, в реестр Windows:
Я ценю это, но гадость. Это необходимо? Разве я не могу просто "REG ADD" или что-то в этом роде?
tjt263 5 лет назад
0
@ tjt263 Этот ответ дает решение, основанное на том, как сформулирован ваш вопрос. То есть он создает файл `.reg` и импортирует этот файл.
Worthwelle 5 лет назад
0
что еще у тебя есть
tjt263 5 лет назад
0
Я думаю, что ответ LotPings даст вам сценарий «все в одном», который вы ищете :)
Kinnectus 5 лет назад
0
1
LotPings
Если вы однажды импортируете этот ключ и найдете его REG QUERY, вы увидите, что первый @относится к стандартному ключу типа REG_SZс содержимым @SYS:DoesNotExist.
Таким образом, чтобы создать ключ напрямую, REG ADDиспользуйте следующий пакет, который, как требуются права администратора, автоматически повышается (с включенным UAC):
:: Q:\Test\2018\11\29\SU_1379397.cmd @echo off & setlocal EnableExtensions DisableDelayedExpansion :: if not already running as admin, elevate and run batch again net file 1>nul 2>&1 || ( powershell -ExecutionPolicy unrestricted -Command ^ "Start-Process -Verb RunAs -FilePath '%comspec%' -ArgumentList '/c %~f0 %*'" goto :eof ) :: Put code here that needs elevation @Echo off Set "Key=HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\IniFileMapping\Autorun.inf" Set "Dat=@SYS:DoesNotExist" REG ADD "%Key%" /ve /t REG_SZ /d "%Dat%" /f TIMEOUT /T 10