| 
 
liuzhigao 
新手上路
 
 
 
  
  
积分 8 
发帖 3 
注册 2007-10-10 
状态 离线
 | 
『楼 主』:
 怎样才能实现"Y"和"N"的功能?谢谢了
 
使用 LLM 解释/回答一下
  
由于帖子标题限制了, 
不能表达清楚, 
我现在有一个自己刚写的文件, 
自己什么也不懂,刚接触批处理, 
所以有些功能没法实现, 
现请各位帮忙看一下, 
要怎样才能实现这样的功能? 
功能:删除驱动包时让它提示是否删除, 
如果删除的话,请按"Y",否则按"N", 
还有一个主要的是,不管删不删除, 
在按了"Y"或是"N"以后都要把批处理本身给删除掉! 
而我现在写的这个呢只能是在确定删除驱动包的时候才能把批处理本身给删除了, 
如果不删除驱动包的话,那就没法了,就得手动删除!
 
如下是我的文件里的内容,请各位帮忙看一下,谢了
  
title liuzhigao个人设置程序 
@echo off 
@del "c:\Documents and Settings\all users\桌面\windows media player.lnk"  
echo. 
@del "c:\drivers\chipsets.exe" 
@del "c:\drivers\Display.exe" 
@del "c:\drivers\Ethernet.exe" 
@del "c:\drivers\Integrated.exe" 
@del "c:\drivers\Sound.exe" 
@del "c:\drivers\srsdrv.exe" 
echo. 
echo. 
echo 必看:(操作前必看!) 
echo. 
echo 接下来的操作将删除驱动包,位于C:\drivers! 
echo. 
echo 在所有驱动已安装好且确定删除此驱动包的话! 
echo. 
echo 请按任意键(建议删除此驱动包,因为其容量会占用C盘大量空间)! 
echo. 
echo 如驱动还未安装完毕! 
echo. 
echo 请先最小化此窗口,待驱动安装完毕后再继续此后的操作! 
echo. 
echo 如不想删除此驱动包!在关闭此窗口后手动删除下面的文件: 
echo. 
echo C:\Documents and Settings\All Users\「开始」菜单\程序\启动\123.bat 
echo. 
pause 
@rd "c:\drivers" /q/s 
echo. 
echo 驱动包已成功删除,按任意键退出此程序! 
@del "C:\Documents and Settings\All Users\「开始」菜单\程序\启动\123.bat" 
echo. 
echo. 
pause  
  
 
    
 
  
 |   
 | 
  2007-10-10 19:51 | 
  
 | 
 | 
 
Nickey 
初级用户
 
  
 
  
 
积分 132 
发帖 59 
注册 2007-8-23 来自 GuangZhou 
状态 离线
 | 
 | 
  2007-10-10 20:01 | 
  
 | 
 | 
 
liuzhigao 
新手上路
 
 
 
  
  
积分 8 
发帖 3 
注册 2007-10-10 
状态 离线
 | 
『第 3 楼』:
 
 
使用 LLM 解释/回答一下
  
是的,我的里边没有, 
看来楼上的不是很明白我的意思, 
 
我的意思是删除驱动的话,按一下Y,就删除了,不删除的话按N退出,也就是同意与不同意的意思, 
 
不过这两个过程后面接着要完成一件事,就是把批处理本身删除了 
 
    
 
  
 |   
 | 
  2007-10-10 22:27 | 
  
 | 
 | 
 
liuzhigao 
新手上路
 
 
 
  
  
积分 8 
发帖 3 
注册 2007-10-10 
状态 离线
 | 
『第 4 楼』:
 
 
使用 LLM 解释/回答一下
  
Originally posted by wudixin96 at 2007-10-10 10:38 PM: 
rd /s即可。不要带/Q开关就行了。 
 
删除本身就是del /q /f %0  
那我上面那个命令现在只能是在确定删除驱动包的情况下才能自我删除,能不能让它在不删除驱动包的情况下也把批处理自身也删除了?  
 
    
 
  
 |   
 | 
  2007-10-11 10:34 | 
  
 | 
 | 
 
HAT 
版主
 
        
 
  
  
积分 9023 
发帖 5017 
注册 2007-5-31 
状态 离线
 | 
『第 5 楼』:
 
 
使用 LLM 解释/回答一下
  
楼主可以参考一下这段脚本 
@echo off 
rem 在屏幕右下角显示/隐藏星期 
 
:input 
echo Do you want to display the week(Y/N)? 
set /p flag= 
if %flag% == y ( 
  goto :display 
) else if %flag% == Y ( 
  goto :display 
) else if %flag% == n ( 
  goto :hide 
) else if %flag% == N ( 
  goto :hide 
) else goto :input 
 
:display 
reg add "HKEY_CURRENT_USER\Control Panel\International" /v sLongDate /t REG_SZ /d "dddd, MMMM dd, yyyy" /f>nul 
goto :end 
 
:hide 
reg add "HKEY_CURRENT_USER\Control Panel\International" /v sLongDate /t REG_SZ /d "MMMM dd, yyyy" /f>nul 
goto :end 
 
:end 
rem 删除批处理本身 
del %0
  
 
    
 
  
 |   
 | 
  2007-10-11 11:21 | 
  
 | 
 | 
 
不得不爱 
超级版主
 
          我爱DOS
  
 
积分 5310 
发帖 2044 
注册 2005-9-26 来自 四川南充 
状态 离线
 | 
『第 6 楼』:
 
 
使用 LLM 解释/回答一下
  
看下面的可以吗? 
title liuzhigao个人设置程序 
@echo off 
del "c:\Documents and Settings\all users\桌面\windows media player.lnk"  
echo. 
del "c:\drivers\chipsets.exe" 
del "c:\drivers\Display.exe" 
del "c:\drivers\Ethernet.exe" 
del "c:\drivers\Integrated.exe" 
del "c:\drivers\Sound.exe" 
del "c:\drivers\srsdrv.exe" 
echo. 
echo. 
echo 必看:(操作前必看!) 
echo. 
echo 接下来的操作将删除驱动包,位于C:\drivers! 
echo. 
echo 在所有驱动已安装好且确定删除此驱动包的话! 
echo. 
echo 请按y删除此驱动包(建议删除此驱动包,因为其容量会占用C盘大量空间)! 
echo. 
echo 如驱动还未安装完毕! 
echo. 
echo 请先最小化此窗口,待驱动安装完毕后再继续此后的操作! 
echo. 
echo 如不想删除此驱动包!请按N或者任意键 
echo. 
set/p a=按Y删除此驱动包,按N或者任意键不删除此驱动包 
if /i not %a%.=y. goto a 
rd "c:\drivers" /q/s 
echo. 
echo 驱动包已成功删除,按任意键退出此程序! 
echo. 
echo. 
pause 
:a 
del /q %0
  
 
    
 
  
  |  
                  
  
                    我的网络U盘 我的网络第2个U盘 
论坛软件下载链接 
灵雨飘零论坛   
论坛新手必读,所有人的基本行为准则 
刷QQ空间人气、留言的小软件 |   
 | 
  2007-10-11 11:26 | 
  
 | 
 | 
 
不得不爱 
超级版主
 
          我爱DOS
  
 
积分 5310 
发帖 2044 
注册 2005-9-26 来自 四川南充 
状态 离线
 | 
 | 
  2007-10-11 16:00 | 
  
 |