批处理复制 有了的文件不在复制

来源:百度知道 编辑:UC知道 时间:2024/05/17 03:22:09
复制J:\魔兽地图\A01.w3x B02.w3x C 03.w3x (注:有些地图名有空格的) 到 D:\冰风王座\Maps
如果D盘下有A01.w3x 就不复制这张地图.请问这个批处理怎么做啊.

@echo off
if not exist "D:\冰风王座\Maps\A01.w3x" copy J:\魔兽地图\A01.w3x D:\冰风王座\Maps\A01.w3x
if not exist "D:\冰风王座\Maps\B02.w3x" copy J:\魔兽地图\B02.w3x D:\冰风王座\Maps\B02.w3x
if not exist "D:\冰风王座\Maps\C 03.w3x" copy "J:\魔兽地图\C 03.w3x" "D:\冰风王座\Maps\C 03.w3x"

exit

首先你要有这个东西robocopy 放到windows下,或者windows\system32下
核心部分是
robocopy /mir J:\魔兽地图 D:\冰风王座\Maps
这个操作是整文件夹对比,文件夹里面的文件有的话,就更新没有的话,就删除。
如果要保存里面的文件,仅仅复制文件那就
robocopy /e J:\魔兽地图 D:\冰风王座\Maps

@echo off
for %%a in (J:\魔兽地图\*.w3x) do (
if not exist "D:\冰风王座\Maps\%%a" copy/y "%%a" "D:\冰风王座\Maps\%%a"
)
pause