我需要删除注册表项中选定的子项。对于我需要删除的子项之一,我尝试过:
(SET _KEY=SOFTWARE\Microsoft\Windows\CurrentVersion\UFH\SHC)
REG Delete "HKCU\%_KEY%" /V "C:\ProgramData\Microsoft\Windows\Start Menu\Programs\UltraVNC\UltraVNC Viewer\UltraVNC Viewer (Listen Mode Encrypt)).lnk
C:\Program Files\uvnc bvba\UltraVNC\vncviewer.exe
-dsmplugin SecureVNCPlugin64.dsm -listen 5500
" /f
它问我(Y或N)
我知道它不起作用,因为它不应该问(Y或N),因为我有/f。我认为问题是子键有多行。我有大约60个子项,我需要删除在这个键下。我需要删除的所有子键中都有"uvnc“。最好有一个for循环来找到要删除的正确循环。
发布于 2023-01-24 21:42:14
我想我想好了怎么回答我自己的问题。
@Echo Off
Set "Key=HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\UFH\SHC"
Set "Str=uvnc bvba"
setlocal EnableExtensions DisableDelayedExpansion
for /F "EOL=E Delims=" %%I in ('@%SystemRoot%\System32\reg.exe query "%Key%" /v * ^| find "%Str%"') do (Echo=reg delete "%Key%" /v "%%~I" /f 2>nul
if not errorlevel 1 echo Deleted "%%~I" from %Key%
)
endlocal
cmd /k
如果我做错了什么,或者有更好的方法去做,我会欢迎任何评论。
https://serverfault.com/questions/1120877
复制相似问题