现有两个文件夹A和B,A文件夹下有几千个文件(word,excel等),B文件夹下有与A文件夹下文件同名的文件分别在不同的子文件夹下,怎样可以批量把B文件夹下的同名文件替换为A文件夹下的文件呢

解决方案 »

  1.   

    批处理 dir /b 跟 for /f 了解一下
      

  2.   

    for /F "tokens=1* delims=*" %a in ('dir /b /s /a-d B\*')) do if exist “A\%~na" copy /Y "A\%~na" "%a"
    这个样子?这是假设当前是在同处 A B 两目录的上级目录下,否则要把它们的路径写全了如 C:\A 或 D:\whatt\B 。直接运行,保存为批处理的话 % 要变成 %%
      

  3.   

    @echo off
    set pathA=%~dp0A
    set pathB=%~dp0B
    cd /d %pathA%
    for /f "tokens=*" %%I in ('dir /b /s %pathB%') do (
        for /f "tokens=*" %%J in ('dir /b /s %%~nxI') do (
        copy /Y %%J %%I
    )
    )
    exit
      

  4.   

    _finddata_t file_info;int handle = _findfirst(current_path.c_str(), &file_info);遍历文件夹文件,添加map,查找比较,复制文件