import java.io.File;
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.StandardCopyOption;
import java.util.HashMap;
import java.util.Map;

public class CopyAndRenameDirectories {

    // 数字到中文“第几次实验”格式的映射
    private static final String[] chineseNumbers = {
        "第一次实验", "第二次实验", "第三次实验", "第四次实验", "第五次实验",
        "第六次实验", "第七次实验", "第八次实验", "第九次实验", "第十次实验"
    };

    public static void main(String[] args) {
        // 指定目录的路径 (此处写死路径,修改为你想要的路径)
        String folderPath = "D:\\personal\\Desktop\\新建文件夹\\Java版本修改目录";  // 在这里修改为你的路径
        File folder = new File(folderPath);
        if (!folder.exists() || !folder.isDirectory()) {
            System.out.println("路径无效或不是一个目录: " + folderPath);
            return;
        }

        // 递归遍历指定目录及子目录的文件夹并处理
        processDirectories(folder);
    }

    // 递归遍历目录并处理文件夹
    private static void processDirectories(File folder) {
        File[] files = folder.listFiles();
        if (files == null || files.length == 0) {
            return;
        }

        for (File file : files) {
            if (file.isDirectory()) {
                // 递归处理子目录
                processDirectories(file);

                // 处理目录
                handleDirectory(file);
            }
        }
    }

    // 处理目录的逻辑
    private static void handleDirectory(File dir) {
        File[] files = dir.listFiles();
        if (files == null || files.length != 1) {
            return; // 目录下文件夹数量不为1则跳过
        }

        File subDir = files[0];
        //if (subDir.isDirectory()) {
            // 检查子目录是否是实验目录并进行拷贝
        //    copyAndRenameSubdirectory(subDir, dir);
        //}
		 if (subDir.isDirectory() && subDir.getName().equals("第一次实验")) {
            // 如果子目录的名字是 "第一次实验",则进行复制操作
            copyAndRenameSubdirectory(subDir, dir);
        }
    }

    // 拷贝并重命名文件夹
    private static void copyAndRenameSubdirectory(File subDir, File parentDir) {
        for (int i = 0; i < chineseNumbers.length; i++) {
            // 使用中文格式生成新的目录名:例如 "第一次实验", "第二次实验", ...
            String newFolderName = chineseNumbers[i];
            File newFolder = new File(parentDir, newFolderName);

            if (newFolder.exists()) {
                System.out.println("目标文件夹已存在: " + newFolder.getAbsolutePath());
                continue;
            }

            try {
                // 拷贝目录及其内容
                copyDirectory(subDir, newFolder);
                System.out.println("文件夹 " + subDir.getAbsolutePath() + " 已拷贝并重命名为 " + newFolder.getAbsolutePath());
            } catch (IOException e) {
                System.out.println("拷贝文件夹时发生错误: " + e.getMessage());
            }
        }
    }

    // 拷贝目录及其内容
    private static void copyDirectory(File source, File target) throws IOException {
        if (source.isDirectory()) {
            if (!target.exists()) {
                target.mkdir();
            }

            String[] files = source.list();
            if (files != null) {
                for (String file : files) {
                    File srcFile = new File(source, file);
                    File tgtFile = new File(target, file);
                    copyDirectory(srcFile, tgtFile);
                }
            }
        } else {
            Files.copy(source.toPath(), target.toPath(), StandardCopyOption.REPLACE_EXISTING);
        }
    }
}

Java---使用Java代码批量赋值(也可以赋值子文件夹下面的文件)_子目录