3

私は使用しようとしました:

dir('dirname\*')

そしてそれはうまくいきませんでした。使い始めてから動き始めました:

dir('dirname\m*')

理由を知っている人はいますか?

4

3 に答える 3

7

Matlab はワイルドカードを理解し*ますが、残念ながら Windows コマンド パスの規則に従おうとした方法で\*、リテラル アスタリスクである string を入力しました (バックスラッシュがエスケープされているため)。

/回避策、またはすべてのプラットフォームでパスを指定する推奨される方法は、ディレクトリ セパレータとしてスラッシュを使用することです。

dir('dirname/*')

これは、バックスラッシュの後に m を追加することで問題が「修正」された理由も説明しています。アスタリスクは、文字通りのアスタリスクではなくなりましたが、ワイルドカード文字として解釈できるようになりました。

編集:ドキュメントには、ワイルドカード文字が許可され、期待どおりに機能すると明示的に記載されています (上記の説明を参照してください)。

于 2011-03-17T12:54:09.597 に答える
0

dir('c:\dirname*.m') のようにフル パスを指定し、'dirname' フォルダーが存在することを確認してください。

于 2011-03-17T11:49:52.527 に答える
0

あなたのOSは何ですか?ここで Windows では、最初の行がうまく機能します。ただし、「*」は、Matlab によってリテラルの「*」と見なされる可能性があります。はどうなりdir('dirname/*')ますか?

于 2011-03-17T10:53:35.470 に答える