2013-02-27 8 views
6

Mam kilka skryptów i danych w różnych folderach i często używam addpath i ścieżek względnych. Mój problem polega na tym, że działa to tylko wtedy, gdy mój obecny folder znajduje się tam, gdzie znajduje się skrypt, który wykonuję. Na przykład, jeśli wykonam skrypt A, który doda ścieżkę X, a następnie wykona skrypt B, który leży w ścieżce X, Matlab nie zmieni automatycznie folderu i ścieżki względne określone w skrypcie B już nie działają.MATLAB: Ustaw folder bieżący na lokację skryptu

Czy istnieje sposób automatycznego ustawienia bieżącego folderu do lokalizacji wykonywanego skryptu?

/edit: Należy zauważyć, że używam tych skryptów na różnych komputerach o różnych nazwach napędów, więc użycie bezwzględnych ścieżek prawdopodobnie nie pomoże.

Odpowiedz

9

umieścić następującą linię w skrypcie, to ustawić bieżący katalog katalog = skryptu

cd(fileparts(mfilename('fullpath'))) 
+2

To naprawdę nie działa. : -/'Błąd przy użyciu cd Nie można CD do D: \ [skrócona] \ analiza \ główna (nazwa nie istnieje lub nie jest katalogiem).' 'Main.m'jest nazwą skryptu,' analiza' jest nazwą folder, do którego chcę CD. Jak mogę się pozbyć "głównego"?/edit: Znalazłem go, szukając rozwiązania, dzięki za niezbędne słowo kluczowe: 'cd (fileparts (nazwa pliku ('fullpath')))' robi lewę. –

+2

oh, lepiej, niż znajdowanie ukośników i przycinania, będę edytować odpowiedź – zamazalotta