0

そのため、Matlab スクリプトを実行したときにこの問題が発生しました。これを説明する簡単な例を次に示します。

したがって、ファイル構造の概要を説明することが重要です。

MainFolder
    script.m
    SubFolder
        a1.csv
        a2.csv
        a3.csv

今、私は次のようなスクリプトを持っていると言います:

-> script.m

dir

フォルダー内のファイルを単に印刷するだけです。

次のようにサブフォルダーでスクリプトを実行すると、奇妙なことに:

>>script

それはこれを行います:

>> a1.csv    a2.csv    a3.csv

しかし、フォルダーでこれを行うと:

>>run('C:\Users\....\MainFolder\script.m')

印刷するだけです

>> script.m

だから明らかにそれは私がそれをフォームMainFolderではなく実行したかのように機能していSubFolderます。

この機能のポイントは何ですか?

4

2 に答える 2

3

このコマンドは、スクリプトが配置されている場所ではなくdir、Matlab の現在のディレクトリのディレクトリの内容を表示します。そのため、スクリプトを呼び出したときに、Matlab コマンド プロンプトでたまたまどこにいても、そのディレクトリの内容がスクリプトによって表示されました。

必要なものを取得するには、スクリプトでこれを使用します。

dir(fileparts(mfilename('fullpath')))
于 2013-04-11T04:41:06.153 に答える