【问题标题】:MATLAB: How do I copy files with a specific extension to a folder one directory above it?MATLAB:如何将具有特定扩展名的文件复制到其上一个目录的文件夹中?
【发布时间】:2015-07-01 02:14:44
【问题描述】:

我正在尝试将特定文件从一个文件夹复制到另一个文件夹的上一个目录中。我想同时为我拥有的所有文件夹执行此操作。这是我的文件结构:

201415ContinuousForDropTeqc/StationA/201411/ 此路径有 25 个文件夹,标记为 5 到 30(代表天)。 在这 25 个文件夹中,每个文件夹中都有 3 个文件夹,分别命名为“dat”、“RAW”、“rinex”。 我希望将 RAW 文件夹中所有以 .14o 结尾的文件(此文件夹中还有许多其他文件类型)复制到 rinex 文件夹中。

我也希望能在 201411 文件夹中找到每天重复此操作的方法。最后一部分并不重要,因为我 认为 可以手动输入路径,然后运行复制和粘贴我想要的文件的脚本。

我希望这很清楚。我是 MatLab 的新手。

提前感谢您的帮助! 蒂芙尼

【问题讨论】:

    标签: matlab copy file-copying


    【解决方案1】:

    您可以使用dir 命令完成所有这些操作。 Check this link.
    你可以使用它两次。首先获取所有 25 个文件夹,然后获取文件夹中的所有文件。

    Days = dir('201415ContinuousForDropTeqc/StationA/201411/');
    for k=3:numel(Days) %notice the 3
      files = dir([Days(k).name '/RAW/*.14o']);
      for n=1:numel(files)
        copyfile([Days(k).name '/RAW/' files(n).name],[Days(k).name '/rinex/' files(n).name]);
      end
    end
    

    【讨论】:

    • 感谢您的快速回复!第 3 行给了我一个我不确定的错误:来自非单元格数组对象的单元格内容引用。它几乎就像它不知道进入那个文件夹一样。
    • 我的错误。您应该使用 () 而不是 {}。我将编辑答案。
    猜你喜欢
    • 2019-11-03
    • 2016-06-06
    • 1970-01-01
    • 2010-09-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-06-12
    • 1970-01-01
    相关资源
    最近更新 更多