标题: 批处理指定语句的执行顺序
[打印本页]
作者: chainliq
时间: 2006-8-8 22:10
标题: 批处理指定语句的执行顺序
@echo off
del/q D:\netgame\径舞团
del/q D:\netgame\街头篮球 {这样应该能删掉整个文件夹吧?}
del/q D:\netgame\跑跑卡丁车
以上程序,我想让它按编号运行。如:打开以后 要提示按编号,按1,运行第一句:del D:\netgame\径舞团 按2,运行第二句:del D:\netgame\街头篮球
按3,运行第三句:del D:\netgame\跑跑卡丁车
在完成指定执行程序以后,显示:游戏修复成功,请重新运行游戏程序,谢谢使用!
本人是想在网吧想利用这个程序在游戏被破坏时把它删掉,从服务器上利用同步更新重新同步到客户机上,呵呵,小弟在论坛呆的时候不是很长,希望能得到各位的帮忙,谢谢!麻烦帮偶编个出来能保存为**.bat,非常感谢!~
作者: namejm
时间: 2006-8-8 23:13
楼上的,如果要删除文件夹,del是删不掉的,要换成rd来删;如果文件夹下有文件,还要加上/s参数,所以,你以上的命令应该修改。结合你的要求,可得到如下代码(因为不知道你所说的在完成指定执行程序之后究竟是要完成什么动作,所以请自行完善代码):
@echo off
:input
echo 1 删除径舞团
echo 2 删除街头篮球
echo 3 删除跑跑卡丁车
set choice=
set /p choice=请输入操作代码:
if 完成了指定程序 goto finished
if "%choice%"=="" goto input
if "%choice%"=="1" rd /s /q D:\netgame\径舞团 && goto input
if "%choice%"=="2" rd /s /q D:\netgame\街头篮球 && goto input
if "%choice%"=="1" rd /s /q D:\netgame\跑跑卡丁车 && goto input
:finished
echo 游戏修复成功,请重新运行游戏程序,谢谢使用!
pause
作者: IceCrack
时间: 2006-8-9 08:35
哎 楼主怎么能一帖多发啊! 多么的浪费论坛资源啊 希望楼主能够改正
作者: chainliq
时间: 2006-8-9 11:14
标题: 不行啊,怎么办呢,
作者: chainliq
时间: 2006-8-9 11:15
标题: 不行啊
噢,我忘记啦一点儿啦, 我D:\netgame 这些都是隐藏的文件夹啊,怎么办呢!~
作者: 3742668
时间: 2006-8-9 19:12
『第 3 楼』:
哎 楼主怎么能一帖多发啊! 多么的浪费论坛资源啊 希望楼主能够改正
+8分表示感谢。
希望楼主理解并支持。
『第 5 楼』: 不行啊
噢,我忘记啦一点儿啦, 我D:\netgame 这些都是隐藏的文件夹啊,怎么办呢!~
我这里测试可以通过rd /s /q删除隐藏文件夹,不知道你登陆的用户是否具有删除文件的权限?
2F的代码基本OK的了,不过你是否没有把代码中的这一句修改成你想要的?
if 完成了指定程序 goto finished
也给你个脚本吧:
@echo off
:start
set var=
cls
echo 1 删除径舞团
echo 2 删除街头篮球
echo 3 删除跑跑卡丁车
echo 其他任意键退出...
set /p var=
goto %var%
:1
rd /s /q "D:\netgame\径舞团" && echo 操作完成,按任意键回到主菜单!
pause>nul
goto start
:2
rd /s /q "D:\netgame\街头篮球" && echo 操作完成,按任意键回到主菜单!
pause>nul
goto start
:3
rd /s /q "D:\netgame\跑跑卡丁车" && echo 操作完成,按任意键回到主菜单
pause>nul
goto start
未经测试,如有需要可自行修改。
另:
再次建议:在脚本中涉及到路径(特别是包含非字母字符)的时候,尽可能地用引号把路径包起来。
还有关于你这个脚本,如果只有这3项要删除的话,可以把路径分别保存到变量中,然后通过启用延迟的环境变量+嵌套变量名来实现,将会省略掉不少代码。