実行しているファイルのパスの取得に関して

MATLABでmlxやmファイルを実行する際,そのファイルがあるディレクトリの場所に移動してから実行しようと考えております.
ディレクトリの移動には,
cd(PATH)
を使用すればよいことは分かるのですが,mlxやmファイルが存在する場所をどのように確認すればよいでしょうか?
また,cdコマンドは実行するmlxファイルやmファイルに記述することを考えております.

1 个评论

Google translate:
When executing mlx or m file in MATLAB, I am thinking of moving to the location of the directory where the file is located before executing it.
To move the directory,
cd (PATH)
I know I should use, but how do I find out where the mlx or m files are?
Also, we are planning to write the cd command in the mlx file or m file to be executed.

请先登录,再进行评论。

 采纳的回答

michio
michio 2020-7-5

0 个投票

mfilename という関数がお役に立てるかもしれません。

3 个评论

ご回答ありがとうございます.
mファイル上でご指摘いただいた関数を使用したところパスを取得することができました.
しかし,mlxファイル上で実行したところファイルのパスが取得できず,AppDataのディレクトリが与えられてしまいました.
このような時はどのようにすればよいでしょうか?
参考までにmlxでの実行結果を記載いたします.
mfilename("fullpath")
ans = 'C:\Users\X\AppData\Local\Temp\Editor_vxdxq\LiveEditorEvaluationHelperE1189016635'
よろしくお願いいたします.
michio
michio 2020-7-6
検索してみると、他にもうまくいかないとの書き込みがあり、現状回避策はなさそうです。申し訳ございません。開発チームに改めてフィードバックいたしました。
ただ、以下の投稿の Example 2 は望みがありそうですが、非公式の方法であるのでご注意ください。
ご対応いただき誠にありがとうございます.
今後のバージョンに期待したいと思います.
また,当面の間はご教示いただいた,
tmp= matlab.desktop.editor.getActive
tmp.Filename
こちらの方法を利用させていただきます.

请先登录,再进行评论。

更多回答(1 个)

0 个投票

"which"というコマンドを使うと、そのファイルの場所を調べることが出来ます。
例:
>> which vdp
C:\Program Files\MATLAB\R2020a\toolbox\simulink\simdemos\simgeneral\vdp.slx

1 个评论

Teppei Iwata
Teppei Iwata 2020-7-6
ご回答ありがとうございます.
mlxファイル上で実行する際,自分のファイル名がわかる場合はこちらのコマンドでファイルのパスを取得できることを確認致しました.
ありがとうございます.

请先登录,再进行评论。

类别

帮助中心File Exchange 中查找有关 ファイルの操作 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!