|
|
Pfad von benutzter Funktion in Variable speichern |
|
Jonas0410 |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 04.11.2016, 13:29
Titel: Pfad von benutzter Funktion in Variable speichern
|
 |
|
 |
|
Hi Leute,
ich habe sehr viele ähnliche Skripte geschrieben, die alle auf die selben Funktionen zurückgreifen, dabei sind alle Skripte "Skript1-20.m" in unterschiedlichen Ordnern gespeichert. Jedes Skript speichert Dateien im jeweiligen Ordner. Da es sehr aufwendig ist jedes Skript einzeln zu starten, habe ich ein weiteres Skript "alles_starten.m" geschrieben, welches alle anderen startet. Jetzt mein Problem: Die Dateien die erzeugt werden werden nun nicht mehr in die richtigen Ordner gespeichert, sondern in den Ordner in dem sich "alles_starten.m" befindet. Ich habe versucht den Ordner des "Skript1.m" mittels pwd zu speichern und den Speicherort so zu verändern, allerdings scheint sich pwd auf "alles_starten.m" zu beziehen sobald "Skript1.m" von "alles_starten.m" aufgerufen wird.
Hierbei werden die .eps Dateien nun aber im Ordner von "alles_starten.m" gespeichert. Ich will es aber in den Ordner von "Skript1-20.m" haben.
Gibt es einen Befehl, der den Pfad des Skripts welches gerade läuft/gestartet wurde ausgibt?
Danke schonmal, ich hoffe man kann die Frage verstehen
|
|
|
|
|
Harald |

Forum-Meister
|
 |
Beiträge: 24.501
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 04.11.2016, 13:56
Titel:
|
 |
Hallo,
which
, und dann
fileparts
darauf anwenden.
fullfile
ist dann hilfreich, um die Teile wieder zusammenzufügen.
Grüße,
Harald
|
|
|
Jonas0410 |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 04.11.2016, 14:05
Titel:
|
 |
Vielen Dank für die Antwort
Okay für which muss ich ja aber den Namen der Datei reinschreiben, das wollte ich ja genau verhindern da es recht viele Dateien sind. Oder seh ich das falsch. Hatte gehofft dass es eine Funktion gibt die entweder den Dateinamen der aktuellen Funktion ausgibt oder den gesamten Pfad.
Grüße
Jonas
|
|
|
Harald |

Forum-Meister
|
 |
Beiträge: 24.501
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 04.11.2016, 14:33
Titel:
|
 |
Hallo,
innerhalb der Skripte kannst du mit
arbeiten. In alles_starten.m musst du das selbst reinschreiben. Falls du
run
verwendest und die Skripte durchnummeriert sind, bietet sich eine Schleife an.
Grüße,
Harald
|
|
|
Jonas0410 |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 04.11.2016, 14:51
Titel:
|
 |
Top, so hats geklappt,
Danke
|
|
|
Jan S |

Moderator
|
 |
Beiträge: 11.057
|
 |
|
 |
Anmeldedatum: 08.07.10
|
 |
|
 |
Wohnort: Heidelberg
|
 |
|
 |
Version: 2009a, 2016b
|
 |
|
|
 |
|
Verfasst am: 05.11.2016, 03:05
Titel:
|
 |
Hallo Jonas0410,
Noch etwas schneller als
which
ist
mfilename
mit dem 'fullpath' Argument:
which
durchsucht zunächst den gesamten Matlab-Pfad, während
mfilename('fullpath')
nur das aktuell laufende M-File berücksichtigt.
Gruß, Jan
|
|
|
Jonas0410 |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 08.11.2016, 12:41
Titel:
|
 |
Danke Jan,
das werde ich in Zukunft so machen, hatte allerdings schon alles umgeändert.
Grüße
Jonas
|
|
|
|
|
Einstellungen und Berechtigungen
|
|
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
| 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.
|
|