楼 主
请简化一下我的批处理
发表于 2006-01-10 11:29 · 中国 河北 唐山 联通
版主
★★★
操作系统爱好者
积分 1,113
发帖 392
注册 2002-11-11 00:00
23年会员
UID 228
性别 男
状态 离线
请简化一下我的批处理,要求用FOR命令,在纯DOS环境。
if exist c:\boot.ini goto c
if exist d:\boot.ini goto d
if exist e:\boot.ini goto e
...
if exist w:\boot.ini goto w
:c
set drv=c:
copy %drv%\boot.ini %drv%\boot.bak
goto end
:d
set drv=d:
copy %drv%\boot.ini %drv%\boot.bak
goto end
:e
set drv=e:
copy %drv%\boot.ini %drv%\boot.bak
goto end
...
:w
set drv=w:
copy %drv%\boot.ini %drv%\boot.bak
goto end
:end
目的:依次查找C到W盘根目录下的BOOT.INI,将首次找到的BOOT.INI复制到同一目录下,重命名为BOOT.BAK,找到后不再查找,结束程序。
[ Last edited by gmy on 2006-1-10 at 11:31 ]
DOS之家 http://doshome.com 站长 葛明阳
第 2 楼
发表于 2006-01-10 15:10 · 中国 山西 大同 中移铁通
元老会员
★★★★
Batchinger
积分 4,432
发帖 1,512
注册 2002-10-18 00:00
23年会员
UID 19
性别 男
状态 离线
※ Batchinger 致 Bat Fans:请访问
批处理编程的异类 ,欢迎交流与共享批处理编程心得!
第 3 楼
发表于 2006-01-11 00:06 · 中国 重庆 渝中区 电信
银牌会员
★★★
积分 2,165
发帖 730
注册 2004-04-21 00:00
22年会员
UID 22966
性别 男
状态 离线
第 4 楼
发表于 2006-01-11 12:30 · 中国 河北 石家庄 桥西区 联通
版主
★★★
操作系统爱好者
积分 1,113
发帖 392
注册 2002-11-11 00:00
23年会员
UID 228
性别 男
状态 离线
re:willsort
谢谢。已经解决。
@echo off
set drv=1
for %%i in (c d e f g h i j k l m n o p q r s t u v w) do if exist %%i:\boot.ini set drv=%%i
if %drv%==1 goto err
k
cls
echo OK! %drv%\boot.ini is found !
goto end
:err
cls
echo Sorry! boot.ini is not found!
goto end
:end
echo
echo
pause
[
Last edited by gmy on 2006-1-11 at 13:40 ]
DOS之家 http://doshome.com 站长 葛明阳
第 5 楼
发表于 2006-01-11 14:43 · 中国 山西 运城 中移铁通
元老会员
★★★★
Batchinger
积分 4,432
发帖 1,512
注册 2002-10-18 00:00
23年会员
UID 19
性别 男
状态 离线
Re gmy:
从你现在程序的运作方式来看,将导致始终检测从 C - W 的所有驱动器,而非一检测到匹配的驱动器盘符就立即跳出,以避免未分配的盘符及其他可能的驱动器访问问题。这是我修改后的版本,当然,它仍然无法根本解决盘符的访问问题,只是降低了出现问题的概率。
@echo off
if "%1"=="" goto ok
cls
for %%i in (c d e f g h i j k l m n o p q r s t u v w) do if exist %%i:\boot.ini %0 %%i
:err
echo Sorry! boot.ini is not found!
goto end
k
echo OK! %1\boot.ini is found !
goto end
:end
echo
echo
pause
※ Batchinger 致 Bat Fans:请访问
批处理编程的异类 ,欢迎交流与共享批处理编程心得!
第 6 楼
发表于 2006-01-15 00:56 · 中国 山西 运城 移动
中级用户
★★
积分 241
发帖 131
注册 2005-09-28 19:01
20年会员
UID 42920
性别 男
状态 离线
好贴!楼主的启动盘我现在就用着呢,willsort对批处理的研究确实让我佩服!
房东说:这娃是个好孩子!
论坛跳转: