Как я могу создать новый .reg файл из CLI

566
tjt263

Я хотел бы создать новый .regфайл и добавить его в реестр, как предлагается в этой статье .

REGEDIT4 [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\IniFileMapping\Autorun.inf] @="@SYS:DoesNotExist" 

Это довольно просто. Но я хочу написать это. Я думал, что мог бы просто использовать REG ADD, но я не уверен, как включить @="@SYS:DoesNotExist"часть в конце.

0

2 ответа на вопрос

1
Kinnectus

Создайте свой пакетный файл, например, fix.batсо следующим содержимым:

echo REGEDIT4 > fix.reg echo [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\IniFileMapping\Autorun.inf] >> fix.reg echo @="@SYS:DoesNotExist" >> fix.reg 

Запустите пакет, и он создаст ваш файл с нужным содержимым. Вы можете вручную объединить файл .reg или пойти еще дальше и использовать пакетный файл для объединения fix.regфайла, созданного с помощью сценария, в реестр Windows:

echo REGEDIT4 > fix.reg echo [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\IniFileMapping\Autorun.inf] >> fix.reg echo @="@SYS:DoesNotExist" >> fix.reg regedit.exe /S fix.reg 
Я ценю это, но гадость. Это необходимо? Разве я не могу просто "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 

Похожие вопросы