中国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
查看资料  发送邮件  发短消息  网志   编辑帖子  回复  引用回复

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


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



论坛跳转: