CLIから新しい.regファイルを作成するにはどうすればいいですか

CLIから新しい.regファイルを作成するにはどうすればいいですか

.reg提案されているように、新しいファイルを作成してレジストリに追加したいと思います。この記事

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

かなりシンプルです。でもスクリプト化したいです。 を使用すればいいと思ったのですが、最後の部分をREG ADDどのように組み込むかわかりません。@="@SYS:DoesNotExist"

答え1

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

答え2

そのキーをインポートして で検索すると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

関連情報