web-dev-qa-db-ja.com

cmd.exeからregeditを使用してHKEY_CURRENT_USER \ Console \%SystemRoot%_system32_cmd.exeをエクスポートするにはどうすればよいですか?

レジストリキーをエクスポートしようとしていますHKEY_CURRENT_USER\Console\%SystemRoot%_system32_cmd.exeしかし、おそらくパーセント記号のために、そうすることができません。

キャレットまたは別の%記号を使用して%記号をエスケープしようとしましたが、これは役に立ちませんでした。

regedit /e c:\temp\cmd.reg "HKEY_CURRENT_USER\Console\%%SystemRoot%%_system32_cmd.exe"

そして

regedit /e c:\temp\cmd.reg "HKEY_CURRENT_USER\Console\^%SystemRoot^%_system32_cmd.exe"

だから、私がやりたいことをする方法はありますか?.

編集ЯрославРахматуллинのコメント:キーパーセント記号を含む正確な文字列。だから私はしたくない%SystemRoot%展開されましたが、そのままregeditに渡されました

1

1) バッチファイルでパーセント記号(%)を使用するには、2つのパーセント記号(%%)を指定する必要があります。

これは機能していますバッチファイル内

regedit /e c:\temp\123.reg "HKEY_CURRENT_USER\Console\%%SystemRoot%%_system32_cmd.exe"

2)このトリックはcmd.exeの「プレーン」コマンドラインで機能します

set sr=SystemRoot
regedit /e c:\temp\123.reg "HKEY_CURRENT_USER\Console\%%sr%%_system32_cmd.exe"
0
Maximus