Board logo

标题: [文件操作] 批处理怎样复制当天最新的文件到指定共享文件夹? [打印本页]

作者: dl206699    时间: 2011-6-8 09:52     标题: 批处理怎样复制当天最新的文件到指定共享文件夹?

本帖最后由 pcl_test 于 2016-8-19 20:32 编辑

情况是这样:本地192.168.0.4有一数据备份,每天晚上10点会自动执行备份到D:\backup目录下,每天执行一次,back目录为共享administrators组完全控制权限。现在需要一个脚本达到如下效果:每天晚上12点自动将backup目录下当天备份的文件复制到网络路径\\192.168.0.5\share下面,share目录已经设置为管理员完全控制权限,而且share目录只保留最新三天的备份文件,更早的都自动删除掉,本地backup目录下的文件不进行处理。问大家怎么实现,最好是在192.168.0.5这台机子上面运行,本人对脚本不怎么熟悉。另外,利用批处理复制文件的速度如何?
作者: dl206699    时间: 2011-6-8 09:54

1# dl206699
另外,两台机子已经互相将对方机子的共享文件映射到自己机上,映射盘符均为Z:\
作者: hucuibai    时间: 2011-6-8 10:00

有共享直接copy不就完了么?
作者: dl206699    时间: 2011-6-8 10:06

3# hucuibai
你说的直接copy是手动复制过去还是copy命令?
手动复制就算了,每天大半夜的,如果是copy命令的话整个怎么用。本人小白啊,copy能不能达到只复制当天的文件
作者: hucuibai    时间: 2011-6-8 10:09

写一条命令 copy \\192.168.0.4\backup \\192.168.0.5\share
计划任务运行不就可以了
作者: dl206699    时间: 2011-6-8 10:13

5# hucuibai
因为0.4上需要保留7天以内的文件,0.5上只需保留当天或者最新三天的文件。如果是这条命令的话,是不是把0.4上7天的全都拷过去,不管0.5上已经存在了最近3天的文件,还是说copy命令能达到0.5上已经存在的那几个文件不会重复进行拷贝。谢谢!
作者: hucuibai    时间: 2011-6-8 10:26

那就用xcopy /d参数
直接加日期
  1. @echo off
  2. set d=%date:~8,2%
  3. set m=%date:~5,2%
  4. set y=%date:~0,4%
  5. echo %m%-%d%-%y%
  6. xcopy /d:%m%-%d%-%y% \\192.168.0.4\backup \\192.168.0.5\share
复制代码

作者: dl206699    时间: 2011-6-8 11:45

7# hucuibai


非常感谢LS,晚点试一下看下结果
作者: caruko    时间: 2011-6-8 11:47

不带参数就可以了...
只会复制最近修改过的文件,没有更新的文件不会复制。

xcopy /d \\192.168.0.4\backup \\192.168.0.5\share
作者: dl206699    时间: 2011-6-8 12:06

7# hucuibai


很棒!十分感谢,新建了几个文档再拉了几个几天前的文档,能正确复制到当天的文件。
能否麻烦下每句帮我加下注释。有空也自学下
作者: dl206699    时间: 2011-6-8 12:23

9# caruko

谢谢,但是试过了,它会把里面所有的文件都复制到share里面去




欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2