|
DOS有奖问答No6:关于循环命令FOR的使用
[这个贴子最后由magictek在 2006/01/14 09:50pm 第 3 次编辑]
自己发现犯了个错误,第二种里面其实我是对%f反复多次赋值,有效的只是最后赋值的那个,第二条不算,重新想过
越想越复杂,本来正在尝试用for %%f in (c d e f) do set drv%%f=%%f:来对每个分区都赋值一个变量再来搜索的,忽然发现其实只要将c至w的次序反过来,便能够找到第一个有Boot.Ini的分区并对%f最终赋值,然后对该变量代表的分区中的文件备份就可以了
@Echo Off
For %%f in (w v u t s r q p o n m l k j i h g f e d c) Do If Exist %%f:\Boot.Ini Set Drv=%%f
Copy %Drv%:\Boot.Ini %Drv%:\Boot.Bak
个人感觉这个题目非常不错的,使用到了DOS里面最为复杂的for以及比较复杂的if,总记得以前哪位前辈说过:如果完全熟悉for的用法,DOS就可以称为精通了,在一些比较经典的题目里面,例如删除QQ目录中的号码文件夹,for还是很好用的,但是至于for的高级应用,别人写的我看得懂,但是要自己写一个很不错得还是觉得缺乏灵感,光就这一点以后还需要向葛老师多多请教 |
|