Batch如何将PathA下同名子文件夹内指定类型文件复制到PathB对应子文件夹
Batch脚本实现指定后缀文件按目录结构批量复制
核心实现思路
使用Windows系统自带的robocopy工具完成,无需额外安装软件,原生支持保留目录结构、按文件后缀筛选复制,比传统xcopy命令兼容性和稳定性更高。
完整可直接使用的脚本
@echo off :: 配置参数,可根据实际需求修改 set "SOURCE_PATH=C:\PathA" set "TARGET_PATH=C:\PathB" set "FILE_FILTER=*.filetype1" :: 执行复制操作 robocopy "%SOURCE_PATH%" "%TARGET_PATH%" "%FILE_FILTER%" /S /NP /NJH /NJS :: 操作完成提示 echo 复制操作已完成 pause
参数说明
@echo off:关闭命令行过程输出,避免刷屏/S:递归复制所有非空子目录,保留和源路径一致的目录结构,会自动在目标路径创建不存在的同名文件夹/NP:不显示复制进度条/NJH//NJS:不显示robocopy的任务头和任务总结日志,不需要精简日志可以删除这两个参数- 如果你需要先模拟运行确认复制范围是否正确,在robocopy命令末尾加上
/L参数,不会实际执行文件写入,确认无误后删除该参数即可正式运行 - 如果你需要强制覆盖目标路径已存在的同名文件,在robocopy命令末尾加上
/IS /IT参数即可
注意事项
- 如果你的路径包含空格,必须给路径加上英文双引号,否则会识别失败
- 脚本保存为
.bat后缀的文件,右键选择「以管理员身份运行」避免权限不足导致复制失败
内容的提问来源于stack exchange,提问作者Alexander
相关产品推荐
相关产品推荐

