标题: 关于SET /P
[打印本页]
作者: THENEWLIFE
时间: 2008-8-29 11:37
标题: 关于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
不知道为什么就是没用,还请高手帮我看看
作者: huahua0919
时间: 2008-8-29 12:14
你上面的程序不论你输入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
作者: THENEWLIFE
时间: 2008-8-29 12:15
加了双引号注册表的键值还是没变,
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
作者: huahua0919
时间: 2008-8-29 12:19
在你的每个跳转程序后面加上exit/b 0代码
作者: THENEWLIFE
时间: 2008-8-29 16:31
哦,明白点了我没加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
不过我这样修改了以后注册表键值还是没变???
作者: HAT
时间: 2008-8-29 16:54
exit /b 0替换成goto :eof也可以吧
作者: THENEWLIFE
时间: 2008-8-29 17:01
恩,但是不知道我命令什么地方错了,不知道为什么我选择了以后注册表的键值还是没变,还请HAT帮忙看看,我错在哪了
作者: HAT
时间: 2008-8-29 17:21
先把=改成==吧
作者: BC
时间: 2008-8-29 18:16
Quote: |
Originally posted by HAT at 2008-8-29 05:21 PM:
先把=改成==吧 |
|
用 equ比较保险吧...
作者: THENEWLIFE
时间: 2008-8-29 19:18
改成这样了还是没反应
@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
作者: huahua0919
时间: 2008-8-29 19:49
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 ]
作者: HAT
时间: 2008-8-29 20:31
标题: Re 10楼
尽快学会调试批处理:删除@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
作者: THENEWLIFE
时间: 2008-8-29 22:53
谢谢各位的热心帮助,已经明白了,(突然想起了CCTV,MTV,Channel V- -#)
在此还是要特别感谢HAT的帮助,谢谢