中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-09-23 13:32
47,812 主题排行 / 349,917 发帖 / 今日 0 篇 / 48,273 会员排行
DOS批处理 & 脚本技术(批处理室) » [求助]求一个批处理
可打印版本  1,746 / 5
第1楼 wjwjwjwj 发表于 2005-05-22 00:00
初级用户 发帖 11 积分 159
[求助]求一个批处理
我有一个文件夹里面同事不定期传一些文件,里面包含子目录,我怎样用批处理来检测这个文件夹有新文件、新文件夹并把它们copy出来备份,谢了,我的操作系统是windows2000
第2楼 xanadu999 发表于 2005-05-25 00:00
初级用户 发帖 5 积分 117
同样需要这样的批处理。以前在学校时让老师帮忙写了一个,后来那张软盘发霉了,程序也就“霉了”。记得是通过文件的日期实现的。
第3楼 willsort 发表于 2005-05-29 00:00
元老会员 发帖 1,512 积分 4,432
Re wjwjwjwj :
  这样的功能可以考虑不使用批处理,使用合适的同步备份软件可以达到很好的效果,这在网上有很多,比如DataKeeper/腾龙/文件备份专家等等。
  如果要用批处理来实现,建议不使用日期判断,因为这些文件的日期并不能标示文件是否“新”,即是否有无备份,只有通过定期(通常是每日,因为日期的隔日判断比较复杂)执行备份操作才能实现类似的特征。
  而对这种文件同步备份的处理,现在较常用的方法是建立文件信息数据库,其中包含其管理的所有文件的生成、修改时间、有无备份、备份的版本等信息,然后每次备份根据数据库进行操作,现在大多数备份软件原理都是如此实现的,但用批处理实现它是代价是比较高昂的。
  另外一种方案应用于早期的DOS平台下,即给每个备份文件都设置“归档(A)”属性,这通常是由文档编辑器或者系统(比如DOS)自动完成的,然后备份软件(比如XCOPY)会扫描所有的备份文件,如果其有归档属性,则进行备份,同时去掉其归档属性,如果没有归档属性则跳过。而备份后所有的文件归档属性全部被清除,以后若有新建或修改的文件,他们又会自动恢复归档属性,则下次备份时就会被检测到而再次备份。这用批处理实现起来,就十分简单。
第4楼 sncffbo 发表于 2005-05-30 00:00
初级用户 发帖 12 积分 137
我可以给你一个思路,你先检查一下你电脑里面一个空文件夹所占用的空间数。然后能过for与find "空字数"命令对你所要检测的目录作出比较,是空没有。反之则有!
第5楼 willsort 发表于 2005-05-30 00:00
元老会员 发帖 1,512 积分 4,432
Re sncffbo  兄的方法可能有些局限性,就是文件备份的最小单位是文件夹,而非单个文件。如果某个文件夹中仅有部分文件变动,那么此方案将会备份整个文件夹。这有时是用户所不希望的。  另外,关于“空文件夹所占用空间数”的问题,虽然文件夹本身确实占用一定的磁盘空间,但对系统来说是透明的,也就是说在DOS和Windows下它们都会显示0字节。不知兄所谓的"空字数"所指何在?
第6楼 wjwjwjwj 发表于 2005-05-30 00:00
初级用户 发帖 11 积分 159
以下是引用willsort在2005-5-29 12:09:50的发言:

Re wjwjwjwj :
  这样的功能可以考虑不使用批处理,使用合适的同步备份软件可以达到很好的效果,这在网上有很多,比如DataKeeper/腾龙/文件备份专家等等。
  如果要用批处理来实现,建议不使用日期判断,因为这些文件的日期并不能标示文件是否“新”,即是否有无备份,只有通过定期(通常是每日,因为日期的隔日判断比较复杂)执行备份操作才能实现类似的特征。
  而对这种文件同步备份的处理,现在较常用的方法是建立文件信息数据库,其中包含其管理的所有文件的生成、修改时间、有无备份、备份的版本等信息,然后每次备份根据数据库进行操作,现在大多数备份软件原理都是如此实现的,但用批处理实现它是代价是比较高昂的。
  另外一种方案应用于早期的DOS平台下,即给每个备份文件都设置“归档(A)”属性,这通常是由文档编辑器或者系统(比如DOS)自动完成的,然后备份软件(比如XCOPY)会扫描所有的备份文件,如果其有归档属性,则进行备份,同时去掉其归档属性,如果没有归档属性则跳过。而备份后所有的文件归档属性全部被清除,以后若有新建或修改的文件,他们又会自动恢复归档属性,则下次备份时就会被检测到而再次备份。这用批处理实现起来,就十分简单。谢了试一下同步奋份
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023