如何在matlab中快速无误地重命名和/或复制大量文件
我有以下问题。我使用自组织映射对图像进行排序(>20000),并以新的顺序将排序后的图像复制到新文件夹中。事实证明,copyfile的速度非常慢(每秒1张图像),正如我在几篇文章中发现的,没有解决这个问题的方法。所以1。问题是有解决办法吗? 我尝试了另一种方法,现在正在使用以下方法重命名文件:如何在matlab中快速无误地重命名和/或复制大量文件,matlab,file,copy,rename,Matlab,File,Copy,Rename,我有以下问题。我使用自组织映射对图像进行排序(>20000),并以新的顺序将排序后的图像复制到新文件夹中。事实证明,copyfile的速度非常慢(每秒1张图像),正如我在几篇文章中发现的,没有解决这个问题的方法。所以1。问题是有解决办法吗? 我尝试了另一种方法,现在正在使用以下方法重命名文件: c=1; for i = b file = av_files(i).name; in = strcat(inputdir,'\',file); out =sprintf('%s
c=1;
for i = b
file = av_files(i).name;
in = strcat(inputdir,'\',file);
out =sprintf('%s\\%0.5i_%s',inputdir,c,file);
java.io.File(in).renameTo(java.io.File(out));
c=c+1;
end
现在我得到了错误
Static method or constructor invocations cannot be indexed.
问题似乎是我在for循环中使用它,而Matlab不喜欢它。有办法解决这个问题吗?
因此,问题主要是如何在Matlab中快速重命名和/或复制大量文件而不出错
顺便说一句,当抛出错误时,
movefile
相对较慢什么是file
,in
和out
?如果出现错误,可以使用dbstop检查文件是否包含文件夹中所有文件名的列表。b包含已排序的列表。In是输入路径,out是带有新文件名的输出路径。例如,文件名ist roi1.8499829300.tif和in将是c:\roi1.8499829300.tif out将是c:\00001\U roi1.8499829300.tif错误将直接出现在第一步c=1中。如果我将整个循环复制到工作区(在m文件之外),则在运行脚本之前,它不会出现errortypedbstop If error
,并验证变量实际上是什么,而不是您认为应该是什么。实际上它是:c=1,file=roi2.852394700.tif,in=C:\train\u sort\roi2.8523947000.tif和out:C:\train\u sort\00001\u roi2.8523947000.tif,它停在java.io.File(in.renameTo(java.io.File(out));当抛出错误时,文件
、在
和在
之外是什么?如果出现错误,可以使用dbstop检查文件是否包含文件夹中所有文件名的列表。b包含已排序的列表。In是输入路径,out是带有新文件名的输出路径。例如,文件名ist roi1.8499829300.tif和in将是c:\roi1.8499829300.tif out将是c:\00001\U roi1.8499829300.tif错误将直接出现在第一步c=1中。如果我将整个循环复制到工作区(在m文件之外),则在运行脚本之前,它不会出现errortypedbstop If error
,并验证变量实际上是什么,而不是您认为应该是什么。实际上它是:c=1,file=roi2.852394700.tif,in=C:\train\u sort\roi2.8523947000.tif和out:C:\train\u sort\00001\u roi2.8523947000.tif,它停在java.io.File(in.renameTo(java.io.File(out));