Main Content

dir

SFTP または FTP サーバー上のフォルダーの内容の一覧表示

説明

dir(s) は、s に関連付けられている SFTP または FTP サーバー上の現在のフォルダーの内容をリストします。現在のフォルダーの内容として、ファイルおよびその他のフォルダーがあります。

dir(s,folder) は、指定されたフォルダーの内容をリストします。

dir(s,"ParseOutput",tf) は、LIST コマンドの生の出力を string 配列として返します。

listing = dir(___) は、各項目の名前、更新日およびサイズを含む構造体配列を返します。この構文では、前述のいずれかの構文の入力引数を使用できます。

すべて折りたたむ

SFTP オブジェクトを作成して SFTP サーバーへの接続を開きます。SFTP オブジェクトを使用して、ファイルをダウンロードし、サーバー上のサブフォルダーの内容をリストします。

最初に、サンプルの SFTP サーバーに接続します。

s = sftp("sftp.example_galapagos.net","maria.silva")
  SFTP with properties:

                         Host: "sftp.example_galapagos.net"
                     Username: "maria.silva"
                         Port: 22
                 ServerSystem: "unix"
                 DatetimeType: "datetime"
                 ServerLocale: "en_US"
                 DirParserFcn: @matlab.io.ftp.parseDirListingForUnix
       RemoteWorkingDirectory: "/home/maria.silva"

最上位フォルダーの内容をリストします。

dir(s)
 
air_quality                  fish                        insects                       README.txt
birds                        INDEX.txt                   mammals                       reptiles
climate                      index.html                  rainfall                      sftp.html
 

関数 dir を使用してサブフォルダーの内容をリストします。

dir(s,"home/maria.silva/birds")
 
albatrosses                 ducks                       herons                     parrots 
avocets_stilts              falcons                     kingfishers                pelicans
barn_owls                   flamingos                   mockingbirds               penguins 
blackbirds                  frigatebirds                nightjars                  pheasants 
boobies                     grebes                      northern_storm_petrels     pigeons 
cardinal grosbeaks          guineafowl                  osprey                     plovers 
cormorants                  gulls                       owls                       rails
cuckoos                     hawks                       oystercatcher              sandpipers
 

関数 cd を使用してサブフォルダーを変更します。cd からの出力は、現在の MATLAB フォルダーではなく、SFTP サーバー上の現在のフォルダーへのパスです。

cd(s,"home/maria.silva/birds/herons")
ans = 
"home/maria.silva/birds/herons"

現在のフォルダーの内容をリストします。

dir(s)
documentation             great_egret_data              migration_patterns
great_blue_heron_data     green_heron_data              nesting_behaviors 

SFTP サーバーの LIST コマンドによる生の出力を解析します。

最初に、サンプルの SFTP サーバーに接続します。

s = sftp("sftp.example_galapagos.net","maria.silva")
  SFTP with properties:

                         Host: "sftp.example_galapagos.net"
                     Username: "maria.silva"
                         Port: 22
                 ServerSystem: "unix"
                 DatetimeType: "datetime"
                 ServerLocale: "en_US"
                 DirParserFcn: @matlab.io.ftp.parseDirListingForUnix
       RemoteWorkingDirectory: "/home/maria.silva"

サーバー上の現在のフォルダーの内容をリストします。出力 struct を変数 a に代入します。

a = dir(s)
a=12×1 struct array with fields:
    name
    isdir
    bytes
    date
    datenum

LIST コマンドの生の出力を解析します。出力 string を変数 b に代入します。

b = dir(s,"ParseOutput",false)
b = 17x1 string
    "lrwxrwxrwx    1       sftp            32 Nov 05  2014 air_quality"
    "-rw-r--r--   32       sftp          1516 Mar 08  2017 birds"
    "-rw-rw-r--    1       sftp          3766 Apr 18  2020 climate"
    "drwxr-xr-x   36       sftp            31 Jun 04  2016 fish"
    "drwxr-xr-x    1       sftp            52 Oct 08  2009 INDEX.txt"
    "drwxr-xr-x    1       sftp            75 Jan 12  2015 index.html"
    "drwxrwsr-x    5       sftp           673 Jul 02  2018 insects"
    "drwxrwsr-x    3       sftp             2 Jun 11  2017 mammals"
    "-rw-rw-r--    2       sftp          9036 Apr 08  2014 rainfall"
    "drwxrwsr-x    1       sftp            11 Jan 10  2019 README.txt"
    "-rw-rw-r--    3       sftp            43 Sep 14  2021 reptiles"
    "drwxrwxr-x    1       sftp          5328 Oct 02  2009 sftp.html"

SFTP サーバー上の内容の詳細をリストします。関数 dir は、指定されたフォルダー内の各項目の名前、更新日、およびサイズを含む構造体配列を返すことができます。

最初に、サンプルの SFTP サーバーに接続します。

s = sftp("sftp.example_galapagos.net","maria.silva")
  SFTP with properties:

                         Host: "sftp.example_galapagos.net"
                     Username: "maria.silva"
                         Port: 22
                 ServerSystem: "unix"
                 DatetimeType: "datetime"
                 ServerLocale: "en_US"
                 DirParserFcn: @matlab.io.ftp.parseDirListingForUnix
       RemoteWorkingDirectory: "/home/maria.silva"

SFTP サーバーの最上位フォルダー内の項目の詳細を返します。一部の項目はファイルで、その他はフォルダーです。

listing = dir(s)
listing =12×1 struct array with fields:
    name
    isdir
    bytes
    date
    datenum

現在のフォルダー内にある最初の項目の詳細を表示します。これは、air_quality という名前のフォルダーです。

listing(1)
ans = struct with fields:
       name: 'air_quality'
      bytes: 64
      isdir: 1
       date: '05-Nov-2014 00:00:00'
    datenum: 735908

入力引数

すべて折りたたむ

SFTP または FTP サーバーへの接続。SFTP オブジェクトまたは FTP オブジェクトとして指定します。

SFTP または FTP サーバー上にあるターゲット フォルダーの名前。文字ベクトルまたは string スカラーとして指定します。現在フォルダーの上位にあるフォルダーを指定するには、'..' を使用します。

LIST コマンドの生の出力を string 配列として返す。true または false として指定します。

出力引数

すべて折りたたむ

内容の属性。m 行 1 列の構造体配列として返されます。m はフォルダー内の項目数です。

次の表に、構造体のフィールドを示します。

フィールド名説明データ型
name

ファイルまたはフォルダー名

char

bytes

項目のサイズ (バイト単位)

double

isdir

name がフォルダーの場合は 1name がファイルの場合は 0

logical

date

修正日のタイムスタンプ

char

datenum

更新日のシリアル日付値

double

ヒント

  • 関数 dir が返す構造体配列の最後の 4 つのフィールドが空である、つまり欠損している場合があります。dir が返す構造体に含まれる情報が欠損している場合、SFTP または FTP オブジェクトの設定が、SFTP または FTP サーバー上で実行しているオペレーティング システムに対応していないことを意味する可能性があります。既定の SFTP または FTP オブジェクトは、UNIX® オペレーティング システムを実行しているサーバーに接続するように設定されています。

バージョン履歴

R2006a より前に導入

参考

| | | |