. : : ClassiClub ForuM : : .

会员中心 论坛帮助 日历事件 标记论坛已读
返回   精品技术论坛 » 技术论坛 » 『软件使用』

『软件使用』: 电脑软件推荐, 电脑软件使用, 经验分享



发表新主题 关闭主题
 
主题工具
jackliu
 
jackliu 的头像
核心会员
 
资 料:
注册日期: Mar 2002
帖子: 3,260 声望值: 6
精华: 0,解答: 7
#1 旧 2010-10-13, 12:46:10 默认 已解答: 【求助】如何用语句或者绿色小软批量备份一个目录下所有子目录中同扩展名的文件?
jackliu 当前离线  

例如:
我需要备份 D:\DOC\*.xls 文件到 E:\Backup 目录,
要保留目录结构应该可以用XCOPY吧,
如果不需要保留目录结构备份到统一目录呢?
最佳解答为:mouze
假设没有同名文件

把以下代码保存为a.cmd到 D:\DOC\ 下运行即可:(自己根据需要修改蓝色字)
代码:
@echo off
for /f "tokens=*" %%A in ('dir *.xls /s /b') do copy "%%A" e:\backup\
如果有同名文件,后面的会覆盖掉前面的。
sean500
 
sean500 的头像
热心会员
 
资 料:
注册日期: Sep 2001
帖子: 6,504 声望值: 4
精华: 0,解答: 24
#2 旧 2010-10-13, 13:51:07 默认
sean500 当前离线  

xcopy D:\DOC\*.xls E:\Backup /s

在后面加上“/s”就可以了吧?


Have a Nice Day!
mouze
 
mouze 的头像
热心会员
 
资 料:
注册日期: Apr 2002
帖子: 8,208 声望值: 13
精华: 5,解答: 65
#3 旧 2010-10-13, 13:56:43 默认
mouze 当前离线  

这样备份你要确定没有相同名字的文件

用资源管理器,在“D:\DOC\”搜索“*.xls”,搜索结果会把目录排在上面,文件排在下面,全选文件,点“复制”,切换到“E:\Backup\”,点“粘贴”,这样就只复制了文件,没有目录结构了,如果有同名文件,会有提示。
jackliu
 
jackliu 的头像
核心会员
 
资 料:
注册日期: Mar 2002
帖子: 3,260 声望值: 6
精华: 0,解答: 7
#4 旧 2010-10-13, 14:12:31 默认
jackliu 当前离线  

引用:
作者: sean500 查看帖子
xcopy D:\DOC\*.xls E:\Backup /s

在后面加上“/s”就可以了吧?
恩。这个是带目录结构的复制。
第二种比较难。

引用:
作者: mouze 查看帖子
这样备份你要确定没有相同名字的文件

用资源管理器,在“D:\DOC\”搜索“*.xls”,搜索结果会把目录排在上面,文件排在下面,全选文件,点“复制”,切换到“E:\Backup\”,点“粘贴”,这样就只复制了文件,没有目录结构了,如果有同名文件,会有提示。
哈,这个是知道的。
能用脚本实现么,我要做到计划任务里去:blush;
BlueFang
 
BlueFang 的头像
核心会员
 
资 料:
注册日期: Apr 2008
帖子: 2,637 声望值: 3
精华: 4,解答: 25
#5 旧 2010-10-13, 14:46:12 默认
BlueFang 当前离线  

纯粹的脚本不知道怎么写,用BeyondCompare可以实现。
编写一个sync.txt文件,内容:
代码:
filter "*.xls;*.doc"
load "D:\Personal\" "C:\Backups"
expand all
select lt.all.files
copy lt->rt
select rt.orphan.files rt.orphan.folders
delete rt
计划任务里添加"BC2.exe @Sync.Txt"就可以同步指定类型文件了,并且会保持目录结构。

如果不想删除备份目录的孤立文件和孤立文件夹,可以去掉最后两行。

此帖于 2010-10-13 14:54:16 被 BlueFang 编辑. .


AMD双核 我只信赖938针
登高山而望四海
LiVEZ.ORG
BlueFang
 
BlueFang 的头像
核心会员
 
资 料:
注册日期: Apr 2008
帖子: 2,637 声望值: 3
精华: 4,解答: 25
#6 旧 2010-10-13, 15:02:44 默认
BlueFang 当前离线  

如果不想保持目录结构,可以找上面会批处理的同学,用上面的方法备份后,将所有的文件名改为随机+原文件名的格式,或者目录名+文件名的格式,就不会有重复文件了,然后移动到最终的备份目录中。
mouze
 
mouze 的头像
热心会员
 
资 料:
注册日期: Apr 2002
帖子: 8,208 声望值: 13
精华: 5,解答: 65
#7 旧 2010-10-13, 15:31:35 默认
mouze 当前离线  

假设没有同名文件

把以下代码保存为a.cmd到 D:\DOC\ 下运行即可:(自己根据需要修改蓝色字)
代码:
@echo off
for /f "tokens=*" %%A in ('dir *.xls /s /b') do copy "%%A" e:\backup\
如果有同名文件,后面的会覆盖掉前面的。

此帖于 2010-10-13 15:36:37 被 mouze 编辑. .
jackliu
 
jackliu 的头像
核心会员
 
资 料:
注册日期: Mar 2002
帖子: 3,260 声望值: 6
精华: 0,解答: 7
#8 旧 2010-10-13, 18:52:30 默认
jackliu 当前离线  

谢谢ls的克隆人...
发表新主题 关闭主题

主题工具

论坛规则  发帖规则
不可以发表主题
不可以回复帖子
不可以上传附件
不可以编辑自己的帖子
论坛启用 vB 代码
版面启用 表情符号
版面启用 [IMG] 代码
版面禁用 HTML 代码


所有时间均为北京时间, 现在的时间是 11:54:23.

本论坛带宽由迅通网络提供
SSL证书由TrustAsia提供

Copyright © 2000 - 2019 ClassiClub Forum All Rights Reserved.
粤ICP备09123456号