2013-02-27 34 views
6

私はいくつかのスクリプトとデータを別々のフォルダに持っており、私はaddpathと相対パスを頻繁に使います。私の問題は、これは私の現在のフォルダが私が実行するスクリプトの場所にある場合のみ動作します。たとえば、パスXを追加したスクリプトAを実行した後、パスBにあるスクリプトBを実行すると、Matlabは自動的にフォルダを変更せず、スクリプトBで指定された相対パスはもはや動作しません。MATLAB:スクリプトの場所に現在のフォルダを設定する

実行中のスクリプトの場所に現在のフォルダを自動的に設定する方法はありますか?

/edit:ドライブ名が異なる別のコンピュータでこれらのスクリプトを使用するため、絶対パスを使用するとおそらく役に立ちません。

答えて

9

スクリプトに次の行を入れて、それが現在のディレクトリを設定しますが=スクリプトディレクトリ

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

これは実際に動作しませんでした。 ://'cdを使ったエラー CDをD:\ [abridged] \ analysis \ mainに置くことはできません(名前は存在しないか、ディレクトリではありません)。私がCDにしたいフォルダ。どうすれば 'main'を取り除くことができますか?/edit:あなたの解決策を見つけて、必要なキーワードのためにそれを見つけました: 'cd(fileparts(mfilename( 'fullpath')))'はトリックを行います。 –

+2

ああ、確かに、スラッシュとトリミングを見つけるよりも、私は答えを編集します – zamazalotta

関連する問題