【GO】ファイルシステムを走査する


特定の場所のフォルダ、ファイル一覧を走査(トラバース)する方法のメモ。

何かしらのファイル加工ツールを作るときに役立つかもしれない。

 

filepathパッケージのWalkによって指定パスからツリー全体の走査が出来ます。

指定パス(”./“)以下のフォルダ、ファイルに対してtraverseが呼ばれます。

この例だとフォルダかファイルかだけ確認して出力します。

 

 

応用として特定ディレクトリを除いて指定拡張子のものだけを抜き出してみます。

L17: sliceContain()はスライスが特定文字列を持つかどうかの判定用です。

L29: filepath.SkipDirの中身はエラー(errors.New("skip this directory"))です。

特定ディレクトリでエラーを返してその中の走査を中止しています。

L33: filepath.Ext()で拡張子を抜き出して条件に合うものだけ出力します。

 

この構造での実行結果は期待通り folder1\folder2\img.jpg のみになりました。


コメントを残す

メールアドレスが公開されることはありません。