Board logo

标题: 求:复制文件夹而不替换同名文件夹的批处理 [打印本页]

作者: Cainiao114    时间: 2009-11-12 17:12     标题: 求:复制文件夹而不替换同名文件夹的批处理

复制源文件夹D:\电影\中的所有文件(包括子文件夹,下同)到目标文件夹E:\电影,如果目标文件夹中已经存在某个同名的文件夹,则跳过不复制(而不是强行覆盖此文件),包括不复制源同名文件夹内的文件。
  1. @echo off
  2. set src=C:\test\folder1
  3. set dst=C:\test\folder2
  4. cd /d "%dst%"
  5. xcopy /l /s /e . \nul\ | sort /r | more +1 > "%temp%\exist~.txt"
  6. cd /d "%src%"
  7. xcopy /s /e /exclude:%temp%\exist~.txt . "%dst%\"
  8. del "%temp%\exist~.txt"
复制代码
(zqz0012005的不替换文件的批处理)

这个只可以达到不替换文件的作用。现在想只要有同名的文件夹就跳过不复制。
作者: Cainiao114    时间: 2009-11-16 08:51

怎么没人帮忙?
各位高手帮帮忙吧,我急用。
谢谢!
作者: Cainiao114    时间: 2009-12-4 09:18

自己顶下!!!
各位帮下!
谢谢!!!!
作者: batman    时间: 2009-12-4 10:16

  1. @echo off
  2. for /f "delims=" %%a in ('dir /ad /b d:\电影') do if not exist "e:\电影\%%a" xcopy /s /y "d:\电影\%%a" "e:\电影\"
复制代码

作者: Cainiao114    时间: 2009-12-8 11:03

首先感谢版主的热情帮助。谢谢!
  这个是能绕过目标中存在的同名文件夹不替换复制啦。可是,没有把源文件夹中的子文件夹(包括里面的文件)完整的复制过去,而是把与目标不同名文件夹中,所有不相同的文件抽取出来,复制到目标文件夹内。
  请再帮帮!
作者: Cainiao114    时间: 2009-12-11 19:00


继续救助!
作者: Cainiao114    时间: 2009-12-14 19:29

顶顶
求助!
求助!!!
作者: Cainiao114    时间: 2009-12-24 13:07

唉!!!!!!
作者: 随风    时间: 2009-12-24 23:14

假如下列情况该如何?
d:\电影\aa\bb\cc
e:\电影\aa
e盘已经存在aa文件夹了,这时需要复制d盘的aa下的bb和cc文件夹吗?
作者: Cainiao114    时间: 2009-12-25 08:35     标题: 回复 9楼 的帖子

不需要。
谢谢老师!
作者: keen    时间: 2009-12-25 12:33

  1. On Error Resume Next
  2. sFolder = "D:\电影\"
  3. tFolder = "E:\电影\"
  4. Set objFSO = CreateObject("Scripting.FileSystemObject")
  5. Set colSFile = objFSO.GetFolder(sFolder).Files
  6. Set colSSubFolder = objFSO.GetFolder(sFolder).SubFolders
  7. For Each File in colSFile
  8.     File.Copy tFolder, False
  9. Next
  10. For Each Folder in colSSubFolder
  11.     Folder.Copy tFolder, False
  12. Next
复制代码

作者: Cainiao114    时间: 2010-1-4 21:39

On Error Resume Next
sFolder = "D:\电影\"
tFolder = "E:\电影\"

Set objFSO = CreateObject("Scripting.FileSystemObject")

Set colSFile = objFSO.GetFolder(sFolder).Files
Set colSSubFolder = objFSO.GetFolder(sFolder).SubFolders

For Each File in colSFile
    File.Copy tFolder, False
Next

For Each Folder in colSSubFolder
    Folder.Copy tFolder, False
Next



先谢过!
但怎么用?怎么不起作用?
作者: Batcher    时间: 2010-1-5 00:22     标题: 回复 12楼 的帖子

代码保存为test.vbs
双击即可运行
作者: Cainiao114    时间: 2010-1-6 11:31

见笑啦
终于解决啦
万分感谢!!!
我要努力学习,争取天天向上!




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