|
viviantian
新手上路
积分 10
发帖 4
注册 2007-9-26
状态 离线
|
『楼 主』:
怎样检测新文件,并拷贝?
怎样检测文件夹中的所有新文件,并拷贝到另外一个文件夹目录下?
也就是说如果现在有目录 Folder1,包含文件1.bmp,2.bmp,3.bmp。现在我想在每天检查一次Folder1,如果有新的文件生成,比如增加了4.bmp,5.ico两个文件,我就要把4.bmp,5.ico拷贝到另外一个目录Folder2下面。
我是不是需要有一个文件来记录上一次检测的时间LastRun,然后和每个文件修改时间/创建时间进行比较,比LastRun晚的文件使用xcopy 进行拷贝呢?具体该怎么写呢? 小女子初来乍到,谢谢各位大侠关照
|
|
2007-9-26 13:29 |
|
|
viviantian
新手上路
积分 10
发帖 4
注册 2007-9-26
状态 离线
|
『第
2 楼』:
更进一步:如果Folder2是网络上的另外一台主机上的目录,我如何能知道在拷贝文件时,Folder2所在磁盘是否已满,网络是否在中途出现连接错误?
|
|
2007-9-26 13:43 |
|
|
wudixin96
银牌会员
积分 1928
发帖 931
注册 2007-1-6
状态 离线
|
『第
3 楼』:
可以先保存一个文件列表
然后再对比,把文件列表里没有的复制过去,然后再重新生成新的文件列表,即可
|
|
2007-9-26 13:44 |
|
|
lslcxlsl
初级用户
积分 52
发帖 24
注册 2007-8-24
状态 离线
|
『第
4 楼』:
现学现卖下 你可以下个robocopy 这个比windows系统自带的xcopy功能要多还是免费的 然后写一个批处理
robocopy E:\Folder1 *.bmp d:\Folder2 /mir /log:c:\bmp.log 这个是同步命令把Folder1下的同步到Folder2下 如果Folder1下删除了几个bmp ,Folder2也会删除这样比纯拷贝要好点
如果是用xcopy 的话 批处理这样写就可以:
xcopy E:\Folder1 *.bmp d:\Folder2 /d:%date:~5,2%-%date:~8,2%-%date:~0,4% /S /y >>G:\temp\log% (/d:%date:~5,2%-%date:~8,2%-%date:~0,4% 这个就是拷贝今天产生的文件 ,你可以用date /t 命令查下日期格式,如果是yyyy-mm-dd 用上面的参数就没问题) 这个在xp和2003上用过没啥问题
[ Last edited by lslcxlsl on 2007-9-26 at 10:13 PM ]
|
|
2007-9-26 15:04 |
|
|
terse
银牌会员
积分 2404
发帖 946
注册 2005-9-8
状态 离线
|
『第
5 楼』:
replace Folder1\*.* Folder2 /a
|
|
2007-9-27 10:51 |
|
|
viviantian
新手上路
积分 10
发帖 4
注册 2007-9-26
状态 离线
|
『第
6 楼』:
replace Folder1\*.* Folder2 /a 可以将新的文件拷贝到Folder2中。
如果要检测Folder1中的新文件夹呢?
|
|
2007-9-28 09:23 |
|
|
viviantian
新手上路
积分 10
发帖 4
注册 2007-9-26
状态 离线
|
『第
7 楼』:
使用robocopy E:\Folder1 *.* d:\Folder2 /mir /log:c:\bmp.log
可以检测到修改,删除,增加的文件和文件夹,并进行拷贝。
因为我要在网络中传输,所以使用robocopy,而不使用xcopy,因为robocopy支持断点续传。谢谢各位大侠
|
|
2007-9-28 09:36 |
|