How can I address files with the same name for a number of folders?
    7 visualizaciones (últimos 30 días)
  
       Mostrar comentarios más antiguos
    
    Jan Winkler
 el 3 de Jun. de 2016
  
    
    
    
    
    Comentada: goerk
      
 el 6 de Jun. de 2016
            I have a folder in which a number of folders contain the same filename. Example: D:\Experiment\200516.001\Analog.skv, D:\Experiment\220516.013\Analog.skv etc.
I would like to copy all Analog.skv files into one folder, in order to then merge them into one large table.
What I tried was (with wildcard):
copyfile('D:\Experiment\*\Analog.skv','D:\Experiment\Newfolder');
But I get the error: Error using copyfile, No matching files were found. I assume Matlab searches for the exact path, but thats not what I want. Further, it would be great if the Analog files would not overwrite each other when copying one after the other.
0 comentarios
Respuesta aceptada
  goerk
      
 el 3 de Jun. de 2016
        
      Editada: goerk
      
 el 3 de Jun. de 2016
  
      It is not even possible "by hand" so there is no way to do that. You can not place two files with the same name at the same location.
Therefor you have to merge the files first, and then copy the result to the new folder.
If all folders are on the search path you can use
 which('Analog.skv','-all')
to get the paths to all files.
To get all folders into the search path use
 addpath(genpath('D:/Experiment'))
4 comentarios
  goerk
      
 el 6 de Jun. de 2016
				You can make a renamed copy with
 copyfile('D:\Experiment\Folder1\Analog.skv','D:\Experiment\Newfolder\Analog1.skv');
To get the target file name you can do something like
 newFileName = ['Analog' num2str(i) '.skv'];
 path = ['D:\Experiment\Newfolder\'];
 copyfile(sourcepath(i),[path newFileName]);
Más respuestas (0)
Ver también
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!

