作成したバッチ ファイルのいくつかのレジストリ キーを削除しようとしています。
ここで次のコードを見つけましたが、REG DELETE に到達するまで問題なく動作します。
for /F "tokens=1,*" %%a in ('REG QUERY "%KEY%" ^| findstr /I /C:"%VALUE%"') do (REG DELETE %KEY% /v %%a)
値は [HK_CLASSES_ROOT\Installer\Assemblies\Global] の下にあり
ます。おそらくご覧のとおり、ここにあるほとんどの値には引用符が含まれています。次に例を示します。
ADODB,fileVersion="7.10.2346.0",version="7.0.3300.00",culture="neutral",publicKeyToken="B03F5F7F11D50A3A"
それはまさに私が削除したいものではありませんが、かなり近いものです。
したがって、 %%a をエコーすると、引用符とすべてを含むregeditにある値の名前が表示されます。しかし、REG DELETE を通過するとすぐに (現在は確認を求められます) 引用符が存在しないため、[はい] をクリックすると、キーが見つからないことがわかります。
最初に見つけたものと同じものを解析しなかったため、明らかにできません。私は解決策を見つけようとしてきましたが、これまで正しい方向に役立つものは何も見つかりませんでした。おそらくvbsでも同じことができることはわかっていますが、これは1行の長さですが、vbsでは同じ仕事をするのにもっと時間がかかります。
さらに情報が必要な場合は、質問してください。バッチファイルをいじり始めました。これを作成したのは、学校で仕事をするたびに、学校のプロジェクトのすべての依存関係のインストール プロセスを自動化する必要があったためです (コンピューターはゴースト化されています)。
ありがとう