WICHTIG: Der Betrieb von goMatlab.de wird privat finanziert fortgesetzt. - Mehr Infos...

Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Partner:




Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

Automatisierte pfad ausgabe

 

EisbaerNB
Forum-Newbie

Forum-Newbie


Beiträge: 3
Anmeldedatum: 04.07.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 04.07.2012, 10:35     Titel: Automatisierte pfad ausgabe
  Antworten mit Zitat      
Hallo

Ich hab ein Problem wo ich schon seit Tagen nicht weiterkomme!
Ich benötige eine Abfrage die mir die Anzahl der Ordner und der innenliegenden Dateien in eine extra Datei schreibt. Es soll jeder Ordner durchsucht werden und die Dateien automatisch in die Datei ausgeben werden ..
Verzeichnisstruktur:
Hauptordner/Ordner1/*.nii
Hauptordner/Ordner2/*.nii
Hauptordner/Ordner3/*.nii
Usw..
Vielen Dank
Private Nachricht senden Benutzer-Profile anzeigen


Kascho
Forum-Century

Forum-Century


Beiträge: 195
Anmeldedatum: 24.03.10
Wohnort: Jena
Version: R2008b ... :(
     Beitrag Verfasst am: 04.07.2012, 10:48     Titel:
  Antworten mit Zitat      
Hallo EisbaerNB

lies dir mal

Code:


durch.

Das hier verstehe ich nicht ganz:

Zitat:
Es soll jeder Ordner durchsucht werden und die Dateien automatisch in die Datei ausgeben werden ..


Was meinst du mit "in die Datei"? Aber lässt bestimmt mit

Code:


lösen.

Gruß, Kascho
Private Nachricht senden Benutzer-Profile anzeigen
 
EisbaerNB
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 3
Anmeldedatum: 04.07.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 04.07.2012, 12:01     Titel: versuch 2
  Antworten mit Zitat      
also vielleicht hab ich das nicht gut geschrieben .. also ich habe ein paar messdaten die in je einen ordner abgelegt sind .. insgesamt hab ich über 1400Ordner mit den dazugehörigen dateien drin.. jetzt möchte ich diese abfrage automatisieren das ich nicht jedes mal in den Ordner reinklicken muss und dort die dateien angeben muss .. bei über 1400 ordnern wäre das zu viel ... vllt kannst damit mehr anfangen


danke
Private Nachricht senden Benutzer-Profile anzeigen
 
Kascho
Forum-Century

Forum-Century


Beiträge: 195
Anmeldedatum: 24.03.10
Wohnort: Jena
Version: R2008b ... :(
     Beitrag Verfasst am: 04.07.2012, 12:31     Titel:
  Antworten mit Zitat      
Hi nochma, ist btw. recht lustig, da ich im moment das gleiche mache Smile
also ich mache das mit "cd()" und "strrep()" bzw mit dem erstellen eines Strings mit dem Pfad.
Mit
Code:

hast du den aktuellen Pfad

Und mit
Code:

hast du in a alle ordnernamen in nem struct.

Nun kannst du dir mit strrep den jeweiligen Pfad als String zusammensetzen bzw erstellen. Bsp:

Code:
pathneu=[path '\' a(3).name];
cd(pathneu)
% mach irgendwas
cd(path)
 


Wenn du das sinnvoll in ne schleife packst dann geht das ganze weitgehend automatisch.

Wenn hier jemand bessere Ideen hat, würde ich mich freuen Smile

Gruß, Kascho
Private Nachricht senden Benutzer-Profile anzeigen
 
madlab
Forum-Fortgeschrittener

Forum-Fortgeschrittener



Beiträge: 86
Anmeldedatum: 15.05.12
Wohnort: Freiburg
Version: 7.11 (R2010b)
     Beitrag Verfasst am: 04.07.2012, 12:38     Titel:
  Antworten mit Zitat      
Hi ihr beiden,

ich hatte vor kurzem eine ähnliche Aufgabe, bei mir waren es allerdings nicht viele Ordner, ich konnte die Namen einfach händisch eintragen.

Mir hat das hier aber sehr weitergeholfen:

http://www.gomatlab.de/script-auswa.....-best-dateityp-t1687.html

Damit gewinnt ihr evtl ein Paar infos über die Dateien die ihr untersuchen wollt. Hat zwar eine Weile gedauert bis ich es kapiert und angepasst hatte, aber für mich hat es sich gelohnt.
vielleicht nützt es euch ja auch Smile

Grüße,

Mad
Private Nachricht senden Benutzer-Profile anzeigen
 
Jan S
Moderator

Moderator


Beiträge: 11.057
Anmeldedatum: 08.07.10
Wohnort: Heidelberg
Version: 2009a, 2016b
     Beitrag Verfasst am: 04.07.2012, 13:15     Titel:
  Antworten mit Zitat      
Hallo Kascho, hallo EisbaerNB,

Das Überschreiben des sehr wichtigen Matlab-Kommandos "path" mit einer Variablen ist sehr tückisch. Ein anderer Name ist dringend anzuraten.

Wenn Du, EisbaerNB, schon seit Tagen dran sitzt, wäre es sicherlich hilfreich, wenn Du postest, was Du bereits geschafft hast, und welches Problem aufegtreten ist. Dann ist eine Hilfe leicht und effizient.

Code:
Folder = 'HauptOrdner';
H1 = dir(Folder);
H1Name = {H1.name};
H1(strncmp(H1Name, '.', 1)) = [];
H1isFolder = [H1.isdir];
H1Files = {H1(~H1isFolder)};
H1Folder = {H1(H1isFolder)};

for i = 1:length(H1Folder)
  H2 = dir(fullfil(Folder, H1Folder{i}, '*.nii'));
  H2isFolder = [H2.isdir];
  numberOfFiles = sum(~H2isFolder)
end

Was Du nun genau mit der Anzahl der Files pro Unterordner anfangen möchtest, hattest Du nicht erklärt. Weißt du, wie man die in ein File schreibt?

Gruß, Jan
Private Nachricht senden Benutzer-Profile anzeigen
 
Kascho
Forum-Century

Forum-Century


Beiträge: 195
Anmeldedatum: 24.03.10
Wohnort: Jena
Version: R2008b ... :(
     Beitrag Verfasst am: 04.07.2012, 13:21     Titel:
  Antworten mit Zitat      
Danke für den Hinweis Jan und sorry, dass ich das geschrieben habe. In meinem programm habe ich den Pfad nicht als Variable "path" geschrieben, genau aus den genannten Grund.
Mein Code sollte nur anschaulich machen wie Eisbär das Problem prinzipiell lösen könnte.

Gruß, Kascho
Private Nachricht senden Benutzer-Profile anzeigen
 
EisbaerNB
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 3
Anmeldedatum: 04.07.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 04.07.2012, 13:28     Titel:
  Antworten mit Zitat      
so jetzt erkläre ich das mal alles Wink bin kompletter anfänger auf dem gebiet..

jetzt soll ich in matlab mit spm8 bilder realign estimate&reslice da die dateien aber in über 1400 ordnern stecken und ich dann jedesmal die dateien aus dem ordner auswählen müsste bräuchte ich dafür ein skript das dieses automatisch tut, die dateien sind alles *.nii dateien und die ordner heißen subject001 - subject 1484 und erhlich gesagt hab ich dafür noch keinen lösungsansatz gefunden.

Danke erstmal für die Hilfe
Private Nachricht senden Benutzer-Profile anzeigen
 
Neues Thema eröffnen Neue Antwort erstellen



Einstellungen und Berechtigungen
Beiträge der letzten Zeit anzeigen:

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
.





 Impressum  | Nutzungsbedingungen  | Datenschutz | FAQ | goMatlab RSS Button RSS

Hosted by:


Copyright © 2007 - 2025 goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks

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.