用批处理 覆盖复制文件到指定路径当中 不确定源文件是文件夹还是单个文件 也不确定复制的路径当中有没有和源文件同名的文件夹或文件 可能出现这样情况:
情况1 A是文件夹 目标路径中有一个和A同名的 是文件
情况2 A是文件夹 目标路径中有一个和A同名的 是文件夹
情况3 A是文件 目标路径中有一个和A同名的 是文件
情况4 A是文件 目标路径中有一个和A同名的 是文件夹
情况5 A是文件 目标路径中没有和A同名的
情况6 A是文件夹 目标路径中没有和A同名的
要求 无论出现何种复制的情况 都不会复制出错
第1个回答 2011-09-06
复制前先判断目标目录中文件或文件夹是否存在,用if exist 或if not exist语句,复制文件最好用XCOPY命令,具体用法去命令提示符中查。文件与文件夹不能相互做覆盖操作,你要么重命名目标目录中的文件/文件夹,要么直接删掉。假如目标目录中有一个文件A,你不知道是文件还是文件夹,可以这样来判断:IF EXIST A\NUL.EXT .......,如果返回TRUE值则说明是个文件夹。
第2个回答 2011-09-18
del /f /q /a /s c:\b\a
rd /s /q c:\b\a
if not exist c:\b\nul copy /y a c:\b\ &goto end
xcopy a c:\b\a\ /y /s /i /q /h
:end本回答被提问者采纳
rd /s /q c:\b\a
if not exist c:\b\nul copy /y a c:\b\ &goto end
xcopy a c:\b\a\ /y /s /i /q /h
:end本回答被提问者采纳