Verfasst am: 12.09.2016, 21:16
Titel: Unterordner nach Reihe abspeichern
Hallo Matlab Community,
ich möchte unter den Ordner data weitere 30-40 Ordner (varriert) pfade abspeichern.
Jeder Unterordner (DATA1,DATA2,DATA3,...) besitzt die Datei'PRC.dat'.
Jedoch speichert Matlab mir als erstes DATA1 danach DATA10 , DATA11 ...
Jedoch sollen es geordnet sein d.h DATA1, DATA2,DATA3,DATA4... und möchte bei den Unterordner die 'PRC.dat' Dateien abspeichern.
Dass heißt zum Schluss soll im Workspace DATA1 = 'PRC.dat' von Unterordner DATA1 , DATA2 = 'PRC.dat' von Unterordner DATA2 definiert sein.
warum liest MATLAB 35 files ein ? wahrscheinlich [. , ..] was im Ordner nicht vorhanden ist.
Naja dieses Problem umgehe ich ja im Code durch i=3:filelistlength.
Hallo
Das liegt nicht an Matlab, sondern an Filesystem, welches die Unterordner automatisch ordnet. Man muss die Unterordner richtig benennen, damit diese richtig sortiert werden.
Also statt
DATA1 => DATA01
...
DATA9 => DATA09
DATA10 => DATA10
Zitat:
warum liest MATLAB 35 files ein ? wahrscheinlich [. , ..] was im Ordner nicht vorhanden ist.
Naja dieses Problem umgehe ich ja im Code durch i=3:filelistlength.
Das ist Filesystem spezifische Ordner, z.B:
wenn du in Command folgendes eingibst
subdirlist = dir(directory);
% Man kann von struct to cell extrahieren
subdirs = {subdirlist([subdirlist.isdir]).name};
% Unterordner "." und ".." entfernen
subdirs = setdiff(subdirs, {'.', '..'});
subdirlength = length(subdirs);
% die Zahlen aus Unterordnern extrahieren und konvertieren
subdir_ids = str2double(regexprep(subdirs, '[^0-9]+(\d+)$', '$1'));
% nach Zahlen sortieren [subdir_ids, idx] = sort(subdir_ids);
% dazu Sortier-Indizien nehmen und Unterordner richtig sortieren
subdirs = subdirs(idx);
% wenn du Anzahl der Unterordner kennst, dann initialisiere cell entsprechend
pfad = cell(subdirlength, 1);
for k = 1:subdirlength
subdirname = subdirs{k};
% fullfile setzt Teilpfade zusammen, braucht man sich nicht um Separator zu sorgen
pfad{k,1} = fullfile(directory, subdirname,'PRC.dat');
end
Du kannst Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen. Du kannst Dateien in diesem Forum posten Du kannst Dateien in diesem Forum herunterladen
MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.