中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-06-23 00:14
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 关于SET /P 查看 889 回复 12
楼 主 关于SET /P 发表于 2008-08-29 11:37 ·  中国 江西 吉安 电信
初级用户
★★
积分 78
发帖 64
注册 2008-08-29 11:09
17年会员
UID 124464
性别 男
状态 离线
@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 发表于 2008-08-29 12:14 ·  中国 江苏 苏州 中移铁通
银牌会员
★★★
积分 1,608
发帖 780
注册 2007-10-07 10:19
18年会员
UID 99089
性别 男
状态 离线
你上面的程序不论你输入Y还是N,最终执行的还是yingcang的内容.

@echo off
set/p a=显示1,隐藏0
set "path0=hklm\software\microsoft\windows\currentversion\explorer\advanced\folder\hidden\showall"
if %a% equ 1 (reg add %path0% /v CheckedValue /t REG_DWORD /d 0x00000001 /f)
if %a% equ 0 (reg add %path0% /v CheckedValue /t REG_DWORD /d 0x00000000 /f)
pause&exit/b 0
本帖最近评分记录 (共 1 条) 点击查看详情
评分人分数时间
THENEWLIFE +1 2008-08-29 16:24
3 发表于 2008-08-29 12:15 ·  中国 江西 吉安 电信
初级用户
★★
积分 78
发帖 64
注册 2008-08-29 11:09
17年会员
UID 124464
性别 男
状态 离线
加了双引号注册表的键值还是没变,
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 发表于 2008-08-29 12:19 ·  中国 江苏 苏州 中移铁通
银牌会员
★★★
积分 1,608
发帖 780
注册 2007-10-07 10:19
18年会员
UID 99089
性别 男
状态 离线
在你的每个跳转程序后面加上exit/b 0代码
5 发表于 2008-08-29 16:31 ·  中国 江西 吉安 电信
初级用户
★★
积分 78
发帖 64
注册 2008-08-29 11:09
17年会员
UID 124464
性别 男
状态 离线
哦,明白点了我没加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 发表于 2008-08-29 16:54 ·  美国 惠普HP
版主
★★★★★
积分 9,023
发帖 5,017
注册 2007-05-31 19:39
19年会员
UID 89899
性别 男
状态 离线
exit /b 0替换成goto :eof也可以吧
7 发表于 2008-08-29 17:01 ·  中国 江西 吉安 电信
初级用户
★★
积分 78
发帖 64
注册 2008-08-29 11:09
17年会员
UID 124464
性别 男
状态 离线
恩,但是不知道我命令什么地方错了,不知道为什么我选择了以后注册表的键值还是没变,还请HAT帮忙看看,我错在哪了
8 发表于 2008-08-29 17:21 ·  美国 惠普HP
版主
★★★★★
积分 9,023
发帖 5,017
注册 2007-05-31 19:39
19年会员
UID 89899
性别 男
状态 离线
先把=改成==吧
9 发表于 2008-08-29 18:16 ·  中国 广东 江门 电信
中级用户
★★
积分 338
发帖 175
注册 2007-10-21 15:30
18年会员
UID 100351
性别 男
状态 离线
Originally posted by HAT at 2008-8-29 05:21 PM:
先把=改成==吧



用 equ比较保险吧...
10 发表于 2008-08-29 19:18 ·  中国 江西 吉安 电信
初级用户
★★
积分 78
发帖 64
注册 2008-08-29 11:09
17年会员
UID 124464
性别 男
状态 离线
改成这样了还是没反应
@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 发表于 2008-08-29 19:49 ·  中国 江苏 苏州 中移铁通
银牌会员
★★★
积分 1,608
发帖 780
注册 2007-10-07 10:19
18年会员
UID 99089
性别 男
状态 离线
reg add后面不能回车的是一个空格

@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 /f
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 /f
exit /b 0


[ Last edited by huahua0919 on 2008-8-29 at 07:52 PM ]
12 Re 10楼 发表于 2008-08-29 20:31 ·  中国 重庆 九龙坡区 电信
版主
★★★★★
积分 9,023
发帖 5,017
注册 2007-05-31 19:39
19年会员
UID 89899
性别 男
状态 离线
尽快学会调试批处理:删除@echo off,在合适的地方加pause
set /p a=输入y显示,输入N隐藏
if /i "%a%"=="y" goto xianshi
if /i "%a%"=="N" goto yincang
pause

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

:yincang
reg add
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Folder\Hidden\SHOWALL /v CheckedValue /t reg_dword /d 0
pause
本帖最近评分记录 (共 1 条) 点击查看详情
评分人分数时间
THENEWLIFE +1 2008-08-29 22:50
13 发表于 2008-08-29 22:53 ·  中国 江西 吉安 电信
初级用户
★★
积分 78
发帖 64
注册 2008-08-29 11:09
17年会员
UID 124464
性别 男
状态 离线
谢谢各位的热心帮助,已经明白了,(突然想起了CCTV,MTV,Channel V- -#)
在此还是要特别感谢HAT的帮助,谢谢
论坛跳转: