中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net  论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 如何捕获批处理的错误信息?
作者:
标题: 如何捕获批处理的错误信息? 上一主题 | 下一主题
wingofsea
初级用户





积分 124
发帖 34
注册 2006-5-23
状态 离线
『楼 主』:  如何捕获批处理的错误信息?

要实现如下的功能:
  判断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?
谢谢

2006-6-1 13:23
查看资料  发短消息 网志   编辑帖子  回复  引用回复
wingofsea
初级用户





积分 124
发帖 34
注册 2006-5-23
状态 离线
『第 2 楼』:  

自己顶一下,谢谢

2006-6-2 14:02
查看资料  发短消息 网志   编辑帖子  回复  引用回复
willsort
元老会员

Batchinger


积分 4432
发帖 1512
注册 2002-10-18
状态 离线
『第 3 楼』:  

Re wingofsea:

      批处理的异常处理,一般以预防为主,善后为辅,在错误发生之前,我们要能判断出错误发生的各种可能性,然后进行抛出处理。所以,在 mkdir/copy 之前对操作对象进行存在性判断是必要的。比如
@echo off
set workspace=c:\program files\utility
set orig_ini=%workspace%\register.ini
set bakDir=%workspace%\backRegisterini\
set newFile=c:\register.ini
if exist "%bakDir%" mkdir "%bakDir%"
if not exist "%orig_ini%" echo Original register.ini not found &goto :eof
if not exist "%bakDir%\register.ini" copy "%orig_ini%" "%bakDir%">nul
if not exist "%newFile%" echo New register.ini not found & goto :eof
copy "%newFile%" "%orig_ini%">nul
if not exist "%bakDir%" goto :eof
echo Delete the backup copy?
rmdir /s "%bakDir%"




※ Batchinger 致 Bat Fans:请访问 [讨论]批处理编程的异类 ,欢迎交流与共享批处理编程心得!
2006-6-3 20:05
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: