You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Julia实现随机子文件夹复制到已有文件夹的问题求助

解决Julia中文件夹批量复制的问题

你的问题出在cp函数的目标路径设置上:你直接把目标指定为BigEarthNet-v1.0-concise文件夹,这会导致每次执行cp时,都是将源文件夹的内容覆盖到目标根目录,而不是把源文件夹作为子目录复制进去,最后只剩最后一次复制的内容就是这个原因。

正确的做法是,把目标路径设置为BigEarthNet-v1.0-concise下与源文件夹同名的子路径,这样每个选中的文件夹都会被完整复制到目标目录下。修改后的代码如下:

# 获取源目录下的所有子文件夹
folders = readdir("BigEarthNet-v1.0"; join=false)
# 过滤掉非文件夹的条目(避免误处理文件)
filter!(isdir ∘ joinpath("BigEarthNet-v1.0"), folders)
# 随机挑选100个文件夹
random_folders = rand(folders, 100)

# 批量复制
target_root = "BigEarthNet-v1.0-concise"
for folder in random_folders
    src_path = joinpath("BigEarthNet-v1.0", folder)
    dest_path = joinpath(target_root, folder)
    cp(src_path, dest_path; force=true)
end

关键修改说明:

  • 新增filter!步骤:确保只处理文件夹,避免readdir可能返回的文件条目(如果源目录下有文件的话)。
  • 目标路径改为joinpath(target_root, folder):明确指定每个源文件夹要复制到目标目录下的同名子文件夹中,而非覆盖目标根目录。
  • 使用force=true:如果目标子文件夹已经存在,会强制覆盖(若不想覆盖,可去掉该参数,或提前判断并跳过已存在的文件夹)。

内容的提问来源于stack exchange,提问作者imantha

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.30 02:34:54