中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-09 14:56
47,811 主题排行 / 349,896 发帖 / 今日 1 篇 / 48,254 会员排行
DOS批处理 & 脚本技术(批处理室) » 关于SET /P
可打印版本  923 / 12
第1楼 THENEWLIFE 发表于 2008-08-29 11:37
初级用户 发帖 64 积分 78
关于SET /P
@echo off
set /p a=输入y显示,输入N隐藏
if /i "%a%"=y goto xianshi
if /i "%a%"=N goto yincang
exit

:xianshi
reg add
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Folder\Hidden\SHOWALL /v CheckedValue /t reg_dword /d 1

:yincang
reg add
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Folder\Hidden\SHOWALL /v CheckedValue /t reg_dword /d 0
不知道为什么就是没用,还请高手帮我看看
第2楼 huahua0919 发表于 2008-08-29 12:14
银牌会员 发帖 780 积分 1,608
你上面的程序不论你输入Y还是N,最终执行的还是yingcang的内容.
第3楼 THENEWLIFE 发表于 2008-08-29 12:15
初级用户 发帖 64 积分 78
加了双引号注册表的键值还是没变,
XP SP2中测试的
@echo off
set /p a=输入y显示,输入N隐藏
if /i "%a%"="y" goto xianshi
if /i "%a%"="N" goto yincang
exit

:xianshi
reg add
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Folder\Hidden\SHOWALL /v CheckedValue /t reg_dword /d 1

:yincang
reg add
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Folder\Hidden\SHOWALL /v CheckedValue /t reg_dword /d 0
第4楼 huahua0919 发表于 2008-08-29 12:19
银牌会员 发帖 780 积分 1,608
在你的每个跳转程序后面加上exit/b 0代码
第5楼 THENEWLIFE 发表于 2008-08-29 16:31
初级用户 发帖 64 积分 78
哦,明白点了我没加exit /b 的话,他一直运行下来,最后运行的还是隐藏的内容
@echo off
set /p a=输入y显示,输入N隐藏
if /i "%a%"="y" goto xianshi
if /i "%a%"="N" goto yincang
exit

:xianshi
reg add
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Folder\Hidden\SHOWALL /v CheckedValue /t reg_dword /d 1
exit /b 0

:yincang
reg add
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Folder\Hidden\SHOWALL /v CheckedValue /t reg_dword /d 0
exit /b 0
不过我这样修改了以后注册表键值还是没变???
第6楼 HAT 发表于 2008-08-29 16:54
版主 发帖 5,017 积分 9,023
exit /b 0替换成goto :eof也可以吧
第7楼 THENEWLIFE 发表于 2008-08-29 17:01
初级用户 发帖 64 积分 78
恩,但是不知道我命令什么地方错了,不知道为什么我选择了以后注册表的键值还是没变,还请HAT帮忙看看,我错在哪了
第8楼 HAT 发表于 2008-08-29 17:21
版主 发帖 5,017 积分 9,023
先把=改成==吧
第9楼 BC 发表于 2008-08-29 18:16
中级用户 发帖 175 积分 338
Originally posted by HAT at 2008-8-29 05:21 PM:
先把=改成==吧



用 equ比较保险吧...
第10楼 THENEWLIFE 发表于 2008-08-29 19:18
初级用户 发帖 64 积分 78
改成这样了还是没反应
@echo off
set /p a=输入y显示,输入N隐藏
if /i "%a%"=="y" goto xianshi
if /i "%a%"=="N" goto yincang
exit

:xianshi
reg add
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Folder\Hidden\SHOWALL /v CheckedValue /t reg_dword /d 1
exit /b 0

:yincang
reg add
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Folder\Hidden\SHOWALL /v CheckedValue /t reg_dword /d 0
exit /b 0
第11楼 huahua0919 发表于 2008-08-29 19:49
银牌会员 发帖 780 积分 1,608
reg add后面不能回车的是一个空格


[ Last edited by huahua0919 on 2008-8-29 at 07:52 PM ]
第12楼 HAT 发表于 2008-08-29 20:31
版主 发帖 5,017 积分 9,023
Re 10楼
尽快学会调试批处理:删除@echo off,在合适的地方加pause
第13楼 THENEWLIFE 发表于 2008-08-29 22:53
初级用户 发帖 64 积分 78
谢谢各位的热心帮助,已经明白了,(突然想起了CCTV,MTV,Channel V- -#)
在此还是要特别感谢HAT的帮助,谢谢
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023