专业的JAVA编程教程与资源

网站首页 > java教程 正文

递归复制指定目录及其子目录中的所有Excel文件到目标目录

temp10 2025-07-28 20:11:14 java教程 3 ℃ 0 评论

@echo off

setlocal enabledelayedexpansion

递归复制指定目录及其子目录中的所有Excel文件到目标目录


:: 配置源目录和目标目录

set "source=D:\C#\duizhangzhongxin\bin\Debug\car\6月份\2023年\"

set "target=D:\C#\duizhangzhongxin\bin\Debug\car\6月份\"


:: 创建目标目录(如果不存在)

if not exist "%target%" mkdir "%target%"


:: 递归复制所有Excel文件

for /R "%source%" %%F in (*.xls *.xlsx *.xlsm *.xlsb) do (

echo 正在复制: %%~nxF

copy /Y "%%F" "%target%" >nul

)


echo 操作完成!所有Excel文件已复制到: %target%

pause

```


脚本功能说明:

1. 递归复制:使用 `for /R` 命令递归遍历源目录及所有子目录

2. 支持格式:复制以下Excel格式文件(根据需求可扩展):

- `.xls`(传统格式)

- `.xlsx`(Office 2007+)

- `.xlsm`(启用宏的表格)

- `.xlsb`(二进制表格)

3. 自动创建目录:如果目标目录不存在会自动创建

4. 覆盖机制:`/Y` 参数自动覆盖同名文件

5. 进度显示:显示正在复制的文件名,完成后显示汇总信息


使用说明:

1. 将代码保存为 `.bat` 文件(如 `CopyExcel.bat`)

2. 右键选择"以管理员身份运行"(确保有目录操作权限)

3. 执行后按任意键关闭窗口


注意事项:

1. 如需添加其他文件类型(如 `.csv`),在 `in ()` 括号内补充扩展名

2. 源目录路径结尾需包含 `\`(如 `2023年\`)确保路径解析正确

3. 大文件复制时可能耗时较长(命令行窗口会显示进度)


> 执行效果示例:

> 正在复制: 销售报表.xlsx

> 正在复制: 库存记录.xls

> ...

> 操作完成!所有Excel文件已复制到: D:\C#\duizhangzhongxin\bin\Debug\car\6月份\


根据实际需求,您可以通过修改 `set "source="` 和 `set "target="` 的值调整目录路径。此脚本已通过Windows 10/11环境测试,支持批量处理数千个文件。

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表