中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

中国DOS联盟论坛
现在时间是 2026-07-06 23:42
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 批处理清空注册表启动项? 查看 2,697 回复 15
楼 主 批处理清空注册表启动项? 发表于 2010-04-24 03:54 ·  中国 福建 三明 联通
新手上路
积分 12
发帖 13
注册 2007-02-07 23:38
19年会员
UID 78907
性别 男
状态 离线
批处理清空注册表启动项,但要忽略某一项键值不需要删除,请高手帮忙看看如何编写,(注意:不是要那种清空完再加上去的)

[ Last edited by jfq668899 on 2010-4-25 at 17:30 ]
2 发表于 2010-04-24 10:46 ·  中国 吉林 延边朝鲜族自治州 延吉市 电信
银牌会员
★★★
正在学习中的菜鸟...
积分 1,039
发帖 897
注册 2009-03-01 15:34
17年会员
UID 140302
性别 男
来自 在地狱中仰望天堂
状态 离线
@echo off&setlocal enabledelayedexpansion
set "h=HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run"
for /f "skip=4 delims=" %%a in ('reg query "%h%"') do set "a=%%a"&if "!a:~0,1!"==" " for /f "delims=这里是一个tab制表符" %%b in ("%%a") do set "b=%%b"&set "@!b:~4!#=="
for %%a in (NvCplDaemon NvMediaCenter) do set "@%%a#="
for /f "delims=@#" %%a in ('set @') do echo.reg delete "%h%" /v "%%a" /f
pause

1,for %%a in (NvCplDaemon NvMediaCenter) do set "@%%a#="用来设置排除的键名,如果只有一个,可以写成set "@键名#="
2,测试正常后,删除for /f "delims=@#" %%a in ('set @') do echo.reg delete "%h%" /v "%%a" /f中的echo.和pause以正常运行。
3,运行前请先备份注册表相关项。

[ Last edited by Hanyeguxing on 2010-4-24 at 10:55 ]
3 测试不成功 发表于 2010-04-25 16:53 ·  中国 福建 三明 联通
新手上路
积分 12
发帖 13
注册 2007-02-07 23:38
19年会员
UID 78907
性别 男
状态 离线
总共4个键值,麻烦你再帮忙看看。谢谢了哥

REG ADD HKCU\Software\Microsoft\Windows\CurrentVersion\Run /v 360sd /d "\"D:\\360杀毒\\360sd.exe\" /autorun" /f
REG ADD HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run /v Bbclock /d D:\\Portable\\桌面时钟\\BBClock.exe /f
REG ADD HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run /v YzDock /d D:\\Portable\\YzDock\\YzDock.exe /f
REG ADD HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run /v DMHotKey /d C:\\Program Files\\Samsung\\Easy Display Manager\\DMLoader.exe /f
4 测试不成功 发表于 2010-04-25 16:57 ·  中国 福建 三明 联通
新手上路
积分 12
发帖 13
注册 2007-02-07 23:38
19年会员
UID 78907
性别 男
状态 离线
Originally posted by Hanyeguxing at 2010-4-24 10:46 AM:
@echo off&setlocal enabledelayedexpansion
set "h=HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run"
for /f "skip=4 delims=" %%a in ('reg query "%h%"') do ...


总共4个键值,麻烦你再帮忙看看。谢谢了哥

REG ADD HKCU\Software\Microsoft\Windows\CurrentVersion\Run /v 360sd /d "\"D:\\360杀毒\\360sd.exe\" /autorun" /f
REG ADD HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run /v Bbclock /d D:\\Portable\\桌面时钟\\BBClock.exe /f
REG ADD HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run /v YzDock /d D:\\Portable\\YzDock\\YzDock.exe /f
REG ADD HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run /v DMHotKey /d C:\\Program Files\\Samsung\\Easy Display Manager\\DMLoader.exe /f
5 发表于 2010-04-25 18:04 ·  中国 吉林 延边朝鲜族自治州 延吉市 电信
银牌会员
★★★
正在学习中的菜鸟...
积分 1,039
发帖 897
注册 2009-03-01 15:34
17年会员
UID 140302
性别 男
来自 在地狱中仰望天堂
状态 离线
测试不成功的话,把echo的信息贴出来
6 小弟是菜鸟,不知道哪里改错了 发表于 2010-04-26 18:00 ·  中国 福建 三明 联通
新手上路
积分 12
发帖 13
注册 2007-02-07 23:38
19年会员
UID 78907
性别 男
状态 离线
Originally posted by Hanyeguxing at 2010-4-25 06:04 PM:
测试不成功的话,把echo的信息贴出来


@echo off&setlocal enabledelayedexpansion
set "h=HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run"
for /f "skip=4 delims=" %%a in ('reg query "%h%"') do set "a=%%a"&if "!a:~0,1!"==" " for /f "delims=这里是一个tab制表符" %%b in ("%%a") do set "b=%%b"&set "@!b:~4!#=="
for %%a in (NvCplDaemon NvMediaCenter) do set "@%%a#="360sd,Bbclock,YzDock,DMHotKey
for /f "delims=@#" %%a in ('set @') do reg delete "%h%" /v "%%a" /f

启动项下什么也没删除(忽略项和不忽略都没删除)
7 发表于 2010-04-26 21:03 ·  中国 吉林 延边朝鲜族自治州 延吉市 电信
银牌会员
★★★
正在学习中的菜鸟...
积分 1,039
发帖 897
注册 2009-03-01 15:34
17年会员
UID 140302
性别 男
来自 在地狱中仰望天堂
状态 离线
@echo off&setlocal enabledelayedexpansion
set "h=HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run"
for /f "skip=4 delims=" %%a in ('reg query "%h%"') do set "a=%%a"&if "!a:~0,1!"==" " for /f "delims= " %%b in ("%%a") do set "b=%%b"&set "@!b:~4!#=="&>>c:\测试.txt echo.!b!

1,把"delims= "中的连续空格改成一个制表符
2,把c:\测试.txt的内容贴出来
8 大哥谢谢你,学习了 发表于 2010-04-26 22:16 ·  中国 福建 三明 联通
新手上路
积分 12
发帖 13
注册 2007-02-07 23:38
19年会员
UID 78907
性别 男
状态 离线
Originally posted by Hanyeguxing at 2010-4-26 09:03 PM:
@echo off&setlocal enabledelayedexpansion
set "h=HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run"
for /f "skip=4 delims=" %%a in ('reg query "%h%"') do ...


不过不懂什么是制表符
9 大哥,能不能做个现成的,小弟真的不懂 发表于 2010-04-26 22:27 ·  中国 福建 三明 联通
新手上路
积分 12
发帖 13
注册 2007-02-07 23:38
19年会员
UID 78907
性别 男
状态 离线
Originally posted by Hanyeguxing at 2010-4-26 09:03 PM:
@echo off&setlocal enabledelayedexpansion
set "h=HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run"
for /f "skip=4 delims=" %%a in ('reg query "%h%"') do ...


要改的两项都不会,也不懂,帮帮小弟
10 我的想法就是↓ 发表于 2010-04-26 22:59 ·  中国 福建 三明 联通
新手上路
积分 12
发帖 13
注册 2007-02-07 23:38
19年会员
UID 78907
性别 男
状态 离线
Originally posted by Hanyeguxing at 2010-4-26 09:03 PM:
@echo off&setlocal enabledelayedexpansion
set "h=HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run"
for /f "skip=4 delims=" %%a in ('reg query "%h%"') do ...


HKCU\Software\Microsoft\Windows\CurrentVersion\Run /v 360sd /d "\"D:\\360杀毒\\360sd.exe\" /autorun"
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run /v Bbclock /d D:\\Portable\\桌面时钟\\BBClock.exe
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run /v YzDock /d D:\\Portable\\YzDock\\YzDock.exe
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run /v DMHotKey /d C:\\Program Files\\Samsung\\Easy Display Manager\\DMLoader.exe

在注册表启动项里,有几个项时不要删除,其它的全删。
启动项里没这几项不要添加进去。
11 发表于 2010-04-27 17:05 ·  中国 吉林 延边朝鲜族自治州 延吉市 电信
银牌会员
★★★
正在学习中的菜鸟...
积分 1,039
发帖 897
注册 2009-03-01 15:34
17年会员
UID 140302
性别 男
来自 在地狱中仰望天堂
状态 离线
使用附件里的批处理
附件
129.zip (402 bytes, 下载附件所需积分 1 点, 下载次数: 25)
12 大哥,特别崇拜和感谢你!!! 发表于 2010-04-27 23:43 ·  中国 福建 三明 联通
新手上路
积分 12
发帖 13
注册 2007-02-07 23:38
19年会员
UID 78907
性别 男
状态 离线
Originally posted by Hanyeguxing at 2010-4-27 05:05 PM:
使用附件里的批处理


测试成功,但不知为什么? 会提示: 环境变量 @ 没有定义
13 发表于 2010-04-28 00:05 ·  中国 吉林 延边朝鲜族自治州 延吉市 电信
银牌会员
★★★
正在学习中的菜鸟...
积分 1,039
发帖 897
注册 2009-03-01 15:34
17年会员
UID 140302
性别 男
来自 在地狱中仰望天堂
状态 离线
把c:\测试.txt的内容贴出来
14 哥,谢谢!兄弟这么麻烦你,你还....,真的谢谢了 发表于 2010-04-28 11:25 ·  中国 福建 三明 联通
新手上路
积分 12
发帖 13
注册 2007-02-07 23:38
19年会员
UID 78907
性别 男
状态 离线
Originally posted by Hanyeguxing at 2010-4-28 12:05 AM:
把c:\测试.txt的内容贴出来


c:\测试.txt的内容是空的,不过我想,还是不要生成那个"测试.txt",太难看,有没有其它办法解决,哥再想想办法
15 发表于 2010-04-28 17:20 ·  中国 吉林 延边朝鲜族自治州 延吉市 电信
银牌会员
★★★
正在学习中的菜鸟...
积分 1,039
发帖 897
注册 2009-03-01 15:34
17年会员
UID 140302
性别 男
来自 在地狱中仰望天堂
状态 离线
把 set @ >c:\测试.txt 那一行删除,那是测试用的
论坛跳转: