码迷,mamicode.com
首页 > 其他好文 > 详细

批处理复制文件(文件夹)排除某目录,某些类型(草稿)

时间:2015-01-04 16:33:59      阅读:375      评论:0      收藏:0      [点我收藏+]

标签:

    @echo off
    REM 查询字符串是否包含某字符串
     REM @echo off & SET 变量1=C:\你妹D\大调     REM echo %变量1%|find /i "C:\你妹D">nul 2>nul&&echo true||echo false
     REM pause>nul
 
    
    set pathDst=C:\Users\Administrator\Desktop\Dst
    set pathSrc=E:\Src
    
    REM =================需要排除的目录或者文件类型=================
    set excludeDir=obj,
    set excludeFile=pdb cs csproj user
    Rem =================清空目标文件夹所有子文件夹和文件=================

    if exist "%pathDst%" (
    echo 目标文件夹已存在!
    cd /d "%pathDst%"
    for /d %%i in (*) do (
    rd /s /q "%%i"
    del /a /f /q *.*
    )
    echo 目标文件夹清空完成!
    )     
REM 复制所有文件夹以及文件
xcopy /y /e /h %pathSrc%  %pathDst% >nul
echo 复制所有
 for %%c in (%excludeFile%) do (
del  "%pathDst%\*.%%c" 
)
    for /d /r %pathDst% %%i in (*) do (       
    setlocal enabledelayedexpansion
    set "aa=%%i" 
    REM set aa=!aa:%pathDst%=! 
    if  exist "!aa!" (  
    set "A1=!aa!"
    set "A2=%pathDst%\obj" 
    set "EXISTS_FLAG=false" 
    echo "!A1!"|find /i "!A2!" >nul 2>nul&& set "EXISTS_FLAG=true"||set "EXISTS_FLAG=false" 
    if  !EXISTS_FLAG!==true (
    echo !A1!
    rd /s /q "!A1!" 
    ) else (
 
for %%c in (%excludeFile%) do (
del  "!A1!\*.%%c" 
)
    ) 
    )
    endlocal 
    ) 
    echo 完成
    pause>nul
    rem    echo %pathSrc% 

    Rem =================源文件夹及子文件夹=================
    REM for /r  %pathSrc%  %%i in (*.txt *.jpg *.png) do (
    REM echo E:%%~pi
    REM set var=!var:*%cd%=! 
    REM )
    
    
    REM Rem =================字符串替换,源字符串不变=================
    REM set aa=伟大的中国!我为你自豪!
    REM echo 替换前:%aa%
    REM echo 替换后:%aa:中国=中华人民共和国%
    REM echo aa = %aa%
    REM set "aa=%aa:中国=中华人民共和国%"
    REM echo aa = %aa%

    REM Rem =================遍历所有的子目录(方法1)=================
    REM for /f "delims=" %%a in (dir /ad/s/b %pathSrc%) do ( 
    REM rem 获取文件夹完整路径(最后不带\)
    REM echo %%~a
    REM rem 获取文件夹完整路径(最后不带\)
    REM echo %%a
    REM rem 回去文件夹名称
    REM echo %%~na
    REM )

    Rem =================遍历所有的子目录(方法2)并复制所有目录=================
    REM set EXISTS_FLAG=false
    REM for /d /r %pathSrc% %%i in (*) do (  
    rem echo %%i    
    REM setlocal enabledelayedexpansion
    REM set "aa=%%i"
    rem echo !aa!
    REM set aa=!aa:%pathSrc%=!
    rem echo !aa! 
    rem echo %pathDst%!aa!
    REM if not exist "%pathDst%!aa!" ( 

    REM set "A1=%pathSrc%!aa!"
    REM set "A2=%pathSrc%\obj"
 
    REM set "EXISTS_FLAG=false"
    REM =================搜索某字符串是否包含另一个字符串=================
    REM echo "!A1!"|find /i "!A2!" >nul 2>nul&& set "EXISTS_FLAG=true"||set "EXISTS_FLAG=false"   
REM echo !EXISTS_FLAG!    
    REM if  !EXISTS_FLAG!==true (
    REM echo "%pathSrc%!aa!"
    REM echo "%pathSrc%\obj"
    REM ) else (
    REM md "%pathDst%!aa!"
 
                
REM for %%c in (%excludeFile%) do (
REM xcopy /s/e/c "!A1!\*.%%c" "%pathDst%!aa!"
REM )
    REM ) 
    REM )
    REM endlocal 
    REM ) 
pause

 

批处理复制文件(文件夹)排除某目录,某些类型(草稿)

标签:

原文地址:http://www.cnblogs.com/lonelyxmas/p/4201314.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!