【问题标题】:Renaming files in Matlab - movefile is creating folders instead of files在 Matlab 中重命名文件 - movefile 正在创建文件夹而不是文件
【发布时间】:2016-07-19 23:48:16
【问题描述】:

当前工作目录包含一个名为“dynamics_sorted”的文件夹,其中包含 300 个子文件夹(“001”、“002”等),每个子文件夹都包含一些文件,但只有一个 nifti (.nii) 文件。

每个编号子文件夹中的单个 nifti 文件应移动到当前工作目录中的“dynamics_sorted_NIFTI”中。

在此过程中,每个 nifti 文件都应使用其父文件夹的编号进行重命名。

movefile 的语法表明,当参数都是文件名时,文件被重命名

http://uk.mathworks.com/help/matlab/ref/movefile.html#zmw57dd0e528520

for Ticker = 1:300;
FindNiftiFile = ['dynamics_sorted/',num2str(Ticker,'%03.0f'),'/*.nii'];
PutNiftiFile = ['dynamics_sorted_NIFTI/',num2str(Ticker,'%03.0f'),'.nii'];
movefile(FindNiftiFile,PutNiftiFile);
end

但此代码不会重命名文件,而是保留文件名,但将它们放入编号的文件夹中。

关于错误在哪里的任何建议?

【问题讨论】:

    标签: matlab


    【解决方案1】:

    我找到了答案 - 这是因为用于查找源文件的通配符。我猜这会导致 Matlab 假设源不是单个文件,即使通配符只有一个文件是合格的。

    【讨论】:

    • 这在文档中有明确说明:“要在移动文件或文件夹时重命名它,请将目标名称与源名称不同,并为源仅指定一个文件
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-01-27
    • 1970-01-01
    • 1970-01-01
    • 2014-08-23
    • 1970-01-01
    • 2011-12-30
    • 1970-01-01
    相关资源
    最近更新 更多