![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-08-26 01:26 |
共 47,812 主题排行 / 349,910 发帖 / 今日 0 篇 / 48,264 会员排行 |
| DOS批处理 & 脚本技术(批处理室) » [原创][XP]文件备份器V2.4(Final) [07-4-8更新] |
| 可打印版本 35,990 / 112 |
| 第91楼 namejm | 发表于 2006-10-19 22:09 |
| 荣誉版主 发帖 1,737 积分 5,226 来自 成都 | |
Originally posted by uemuem at 2006-10-14 01:57: 你这个问题我始终没能在我的机子上再现,暂时无法得知问题出在哪里,你最好多测试几次,如果还是不能恢复的话,请把你的每一步操作告诉我。 不过,倒是在测试的过程中发现,当复制某个子文件出错的时候,这个程序并不能完整地备份文件,至于在什么情况下会复制出错,暂时还不得而知;不过,复制出错的几率是非常低的,大可放心使用。 Originally posted by TQang at 2006-9-20 23:14: 确实属于浪费变量的行为,已经修正,请在顶楼下载测试。 |
|
| 第92楼 wangjf | 发表于 2006-10-21 07:32 |
| 中级用户 发帖 63 积分 254 | |
|
无法下载附件
|
|
| 第93楼 namejm | 发表于 2006-10-21 08:50 |
| 荣誉版主 发帖 1,737 积分 5,226 来自 成都 | |
Originally posted by wangjf at 2006-10-21 07:32: 压缩包里包含了bat和exe两种格式,另外还有一个说明文件。测试了一下,发现可以下载,但是下载的文件无法正常打开,也无法正常删除,以前下载其他文件的时候也发现类似的问题,应该是论坛的下载系统出了问题,请换个时间下载,或者直接copy顶楼的代码。 |
|
| 第94楼 wangjf | 发表于 2006-10-21 21:52 |
| 中级用户 发帖 63 积分 254 | |
|
已经可以下载了,也可以正常打开.谢谢LZ的及时更新
|
|
| 第95楼 andred0421 | 发表于 2006-11-24 15:28 |
| 初级用户 发帖 47 积分 114 | |
|
学习中。。。
|
|
| 第96楼 ihouge | 发表于 2007-04-06 13:42 |
| 初级用户 发帖 10 积分 20 | |
|
感谢楼主共享!日后一定用得着
|
|
| 第97楼 namejm | 发表于 2007-04-09 00:23 |
| 荣誉版主 发帖 1,737 积分 5,226 来自 成都 | |
|
搁置了将近半年之后,再次更新代码。若没有什么大的bug,将作为final版推出,请有兴趣的测试一下。
|
|
| 第98楼 yinghao2005 | 发表于 2007-04-09 04:38 |
| 初级用户 发帖 10 积分 21 | |
|
不错
继续努力! |
|
| 第99楼 flamey | 发表于 2007-04-09 05:26 |
| 初级用户 发帖 74 积分 152 | |
|
好东西 顶起来
|
|
| 第100楼 flyinspace | 发表于 2007-04-09 07:53 |
| 银牌会员 发帖 517 积分 1,206 | |
|
说句实话,如果不加命令行参数,则这个脚本基本没有用。
|
|
| 第101楼 vkill | 发表于 2007-04-09 08:05 |
| 金牌会员 发帖 1,744 积分 4,103 来自 甘肃.临泽 | |
Originally posted by flyinspace at 2007-4-9 07:53: 大错特错啊~最起码可以学习的啊 |
|
| 第102楼 flyinspace | 发表于 2007-04-09 08:37 |
| 银牌会员 发帖 517 积分 1,206 | |
|
代码初步分析报告。 set /p source= 请输入要备份文件的路径:
set "source=%source:"=%" :: 上面这句为判断%source%中是否存在引号,有则剔除。 if "%source%"==":" goto input_source if "%source%"=="0" exit if "%source%"=="1" goto notice if "%source%"=="2" goto backup_tasks if /i "%source%"=="v" goto view_batch if not exist "%source%" goto source_noexist for %%i in ("%source%") do if "%%~fi"=="%%~di\" goto forbid_to_backup :: 判断要备份的是文件还是文件夹,为以后的xcopy操作设置标志 pushd "%source%" 2>nul && (popd & set folder=yes) || (set folder=) 输入为空时,我们采用 if /i "%source%"=="" goto *** if /i "%source%"=="%*" goto *** 这个来解决。。 这样,当目标不存在的时候。。 可以及时获取错误信息进行修正。。 另外,当被复制文件运行或被占用的时候。 楼主有没有考虑写入日志(给出提示)然后再继续或停止复制呢? 至于非法字符也非常好防御,写一个子程序。 利用 %data:~0,1% 类似的代码就可以搞定。。 楼主,请不要把这个做为最终代码吧:) 还有大量需要更新呢:) 呵呵,吃饭后再分析你的代码。 |
|
| 第103楼 vkill | 发表于 2007-04-09 08:52 |
| 金牌会员 发帖 1,744 积分 4,103 来自 甘肃.临泽 | |
Originally posted by flyinspace at 2007-4-9 08:37: 你说的也不完全正确的啊~我认为这样才是完美解决 http://www.cn-dos.net/forum/viewthread.php?tid=29367&fpage=1&highlight= [ Last edited by vkill on 2007-4-9 at 09:36 AM ] |
|
| 第104楼 3391617 | 发表于 2007-04-09 10:19 |
| 初级用户 发帖 56 积分 116 | |
|
VKILL是强
|
|
| 第105楼 namejm | 发表于 2007-04-09 21:57 |
| 荣誉版主 发帖 1,737 积分 5,226 来自 成都 | |
|
1、
Originally posted by flyinspace at 2007-4-8 18:53: 从你的其他回帖可以看出,兄是编程中人,但是却说出这样的话,未免让人感到意外,试问:在面向对象的高级语言中,如果不提供对象的属性让你选择/修改,编出来的程序是不是个半身不遂的东西?这样的语言像不像被阉割过的太监? 2、
可以说,判断输入是否为空是有好几种方法的,并且都能及时获取错误信息,比如还有 if not defined 语句。兄提供的方法在其他情况下确实可行,但是,兄可能没注意到上一标签段中的这个说明: set source=: 具体问题要具体分析,而不应只拘泥于固定的思维模式。 3、 另外,当被复制文件运行或被占用的时候。 用重命名的方法似乎可以简单地判断文件是否在运行或被占用,不过,这个方法弊端很大:当要复制的文件比较多的时候,因为还要复原文件名,代码的执行效率会比较低下。在头几个版本中,我都会给备份后的文件加上"系统+只读"属性,到了这个版本,我已经取消了这个操作,执行效率问题也是其中的原因之一,所以,基于同样的原因,不打算增加这个功能。如果大家觉得有必要的话,在后续版本中将添加。 4、 至于非法字符也非常好防御,写一个子程序。 关于非法字符的防御,似乎并不像兄所说的那样简单,具体原因请参考本帖13楼 willsort 的分析。 5、 楼主,请不要把这个做为最终代码吧:) 对于兄的耐心分析,在此谢过,更多的不足需要包括像兄这样有耐心的人来测试才会发现得了(比如第3点)。但是,正如我在更新历史中所说的,如果这个版本没有太大的bug的话,我将不再更新代码,因为我目前的精力稍显有限,不能再对无关紧要的细节做更深入的考虑。 |
|
| 上一页 1 … 4 5 6 7 8 下一页 |
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |