中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-09-23 16:11
47,812 主题排行 / 349,917 发帖 / 今日 0 篇 / 48,273 会员排行
DOS批处理 & 脚本技术(批处理室) » 如何捕获批处理的错误信息?
可打印版本  1,120 / 2
第1楼 wingofsea 发表于 2006-06-01 13:23
初级用户 发帖 34 积分 124
如何捕获批处理的错误信息?
要实现如下的功能:
判断c:\program file\utility目录下是否存在 register.ini文件,如果存在则首先备份该文件,再使用c:\register.ini文件替换该。不存在则直接将c:\register.ini拷贝至c:\program file\utility目录下。

基于上诉要求,写代码如下:
@echo off
set workspace=c:\program files\utility
set orig_ini=%workspace%\register.ini
set newFile=c:\register.ini
if exist "%orig_ini%" (
echo. register file exists
echo back up origianl register file
mkdir "%workspace%\backRegisterini"

copy "%workspace%\register.ini" "%workspace%\backRegisterini\register.ini"

copy "%newFile%" "%workspace%\register.ini"

echo Delete the backup copy?
rmdir /s "%workspace%\backRegisterini"
) else (
echo register.ini not found
)

从上面的代码可以看出,有以下几个关键点:
1 创建目录 backRegisterini
2 备份旧文件
3 将c:\reginster.ini文件覆盖c:\program files\utility\register.ini
如何对这3条语句进行异常处理,捕获异常信息?,比如error level?
谢谢
第2楼 wingofsea 发表于 2006-06-02 14:02
初级用户 发帖 34 积分 124
自己顶一下,谢谢
第3楼 willsort 发表于 2006-06-03 20:05
元老会员 发帖 1,512 积分 4,432
Re wingofsea:

批处理的异常处理,一般以预防为主,善后为辅,在错误发生之前,我们要能判断出错误发生的各种可能性,然后进行抛出处理。所以,在 mkdir/copy 之前对操作对象进行存在性判断是必要的。比如

[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023