批处理 如何批量替换不同文件夹中相同文件名文件?

A文件夹内有多个子目录,有10个文件在不同的文件夹内,有些是二级目录,有些更是在4级目录内。
B文件夹内也有10个文件,文件名和A文件内的10个文件是一样的。

问:如何将B的10个文件替换A文件夹内的同名文件?
最新回答
回忆另存为。

2024-08-02 12:59:03

可以使用批处理脚本实现批量替换不同文件夹中相同文件名文件,具体步骤如下:

  • 将B文件夹内的10个文件复制到A文件夹的根目录下。

  • 使用for命令遍历A文件夹内的所有子目录,找到同名的文件,并将其替换为B文件夹中的文件。

  • 具体代码如下:

@echo off

setlocal enabledelayedexpansion

set srcFolder=A

set dstFolder=B

REM 将B文件夹内的10个文件复制到A文件夹的根目录下

copy %dstFolder%\* %srcFolder% /Y

REM 遍历A文件夹内的所有子目录

for /r %srcFolder% %%i in (*) do (

REM 判断是否存在同名文件

if exist "%dstFolder%\%%~nxi" (

REM 替换同名文件

copy /Y "%dstFolder%\%%~nxi" "%%i"

)

)

echo 替换完成!

pause

注意,以上代码中的srcFolder和dstFolder变量需要根据实际情况修改为对应的文件夹路径。