この記事では仮想ディレクトリとして取扱えるListFileを紹介します。
ListFileとは?
公式HELPからの引用です。
先頭に「;ListFile」の一行があるテキストファイルは、その中身を仮想ディレクトリとして取扱うことができます。
また、パスの末尾に「::listfile」が付いているときは、「;ListFile」が無くても仮想ディレクトリとして取扱うことができます。
中に「;」で始まるメタ情報が書かれたテキストファイルで、複数のエントリー情報をこのファイルにまとめる事が出来ます、ファイル/ディレクトリのブックマークという基本的な事や、findコマンドの標準出力をListFileとして吐き出し、エントリー1 として操作するpecoコマンドのような事も出来ます。
(peco代わりの活用法は改めて別記事として書きます)
また、ファイル/ディレクトリ以外にも文字列であれば良いので、スクリプトで拡張して様々な活用が出来る機能となっています。
ListFileのファイルフォーマット
フォーマットはシンプルです、テキストに幾つかのメタ情報が書かれているだけです。
以下のような内容が書かれたListFileの場合
;ListFile
;Base=C:\Users\taro\Desktop
;MyMetaData1=メメタァ
hoge.txt
foo.txt
hello world
開くとも、下記のようになります
「;ListFile」と「;Base」は公式のメタデータですが、独自メタデータも先頭に「;」を付ければ追加する事が出来ます、スクリプトなどで欲しいと思った時にこのメタデータを情報の仮置き場としても利用できます。
また、「hello world」のように単なる文字列もエントリーとして扱えますが、ファイルとして存在しないのでファイル操作系は失敗します、「hoge.txt」や「foo.txt」等の実際に存在するファイルはListFile上でもシームレスにファイルとして扱えます、ただし実際のファイルと内容の同期は自動でされないので、すでにListFile内のエントリーのファイルは存在してないって事もあります、その時はListFileを更新してあげましょう。
終わりに
ListFileは大変便利な機能です、PPxでもWhere is(組み込みの検索機能)でListFileが使われてたりします。
オーソドックスなブックマークとしてだけではなく、GitやLinuxコマンドとの連携にListFileを利用したりも出来ます、それらの例はこの記事以降で紹介したいと思います。
-
PPx上で操作できファイル/ディレクトリ1つ1つをエントリーと呼びます。 ↩