File Info プラグイン

概要

このプラグインはファイル情報を使用してファイル名を置換するための機能を提供します。 置換する以外にも、ファイル情報を一覧する為に使用しても良いでしょう。

使い方

${file:information-type:file-path} の形式で使用します。
:file-path を省略すると現在のマッチを含むファイルを対象にします。 ${file:parent-information-type} と、頭に parent- をつけると、そのファイルの親ディレクトリの情報を得ることが出来ます。
information-type は以下の通りです。

使用できるファイル情報

size
ファイルサイズを取得します。
name
ファイル名を取得します。
path
ファイルのパスを取得します。
time-create(format)
ファイルの作成時刻を取得します。 format 部分に以下にあげる時刻のフォーマットを記述します。 (format) を省略すると yyyy-MM-ddTHH:mm:sszzz の形式で取得されます。
time-write(format)
ファイルの更新時刻を取得します。
time-access(format)
ファイルのアクセス時刻を取得します。
count(file-patterns)
ディレクトリ内のファイル・サブディレクトリの数を取得します。 file-patterns は、Greplace がファイルを検索するときに使用するファイルパターンと同じで、ワイルドカードや ; 区切りが利用できます。 (file-patterns) を省略するとすべてのファイル・ディレクトリを数えます。
count-dir(file-patterns)
ディレクトリ内のサブディレクトリの数を取得します。
count-file(file-patterns)
ディレクトリ内のファイルの数を取得します。
version(format)
ファイルのバージョン情報を取得します。 format 部分に以下にあげるバージョンフォーマットを記述します。 (format) を省略すると FM,Fm,Fb,Fp の形式で取得されます。

時刻のフォーマットは以下の通りです。

d
現在のロケールで使用される短い形式の日付パターン。
D
現在のロケールで使用される長い形式の日付パターン。
t
現在のロケールで使用される短い形式の時刻パターン。
T
現在のロケールで使用される長い形式の時刻パターン。
f
現在のロケールで使用される短い形式の日付と時刻のパターン。
F
現在のロケールで使用される長い形式の日付と時刻のパターン。
M または m
現在のロケールで使用される月日パターン。
Y または y
現在のロケールで使用される年月パターン。
R または r
現在のロケールで使用される RFC1123 パターン。
g
一般の短い形式の日付と時刻のパターン。
G
一般の長い形式の日付と時刻のパターン。
s
並べ替え可能な日付と時刻の ISO8601 パターン。
u
世界時刻とみなした並べ替え可能な日付と時刻のパターン。 yyyy-MM-dd HH:mm:ssZ
U
対応する世界時刻の並べ替え可能な日付と時刻のパターン。
d
1〜31 までの日にちを表します。一文字だけでは無効です。他の書式指定子とともに使用します。
dd
01〜31 までの日にちを表します。
ddd
現在のロケールで使用される曜日の省略名。
dddd
現在のロケールで使用される曜日の完全名。
fff...
f の数だけの秒数。一文字だけでは無効です。他の書式指定子とともに使用します。
g
紀元(A.D. など)。一文字だけでは無効です。他の書式指定子とともに使用します。
h
1〜12 までの時間。一文字だけでは無効です。他の書式指定子とともに使用します。
hh
01〜12 までの時間。
H
0〜23 までの時間。一文字だけでは無効です。他の書式指定子とともに使用します。
HH
00〜23 までの時間。
m
0〜59 までの分数。一文字だけでは無効です。他の書式指定子とともに使用します。
mm
00〜59 までの分数。
M
1〜12 までの月。一文字だけでは無効です。他の書式指定子とともに使用します。
MM
01〜12 までの月。
MMM
現在のロケールで使用される月の省略名。
MMMM
現在のロケールで使用される月の完全名。
s
0〜59 までの秒。一文字だけでは無効です。他の書式指定子とともに使用します。
ss
00〜59 までの秒。
t
午後・午前を表す文字列。
y
0〜99 までの年。一文字だけでは無効です。他の書式指定子とともに使用します。
yy
00〜99 までの年。
yyyy
0000〜9999 までの年。
z
-12〜+13 までの現在のタイムゾーンの時間単位での一桁のオフセット。一文字だけでは無効です。他の書式指定子とともに使用します。
zz
-12〜+13 までの現在のタイムゾーンの時間単位での二桁のオフセット。
zzz
-12:00〜+13:00 までの現在のタイムゾーンの分単位でのオフセット。
:
時刻の区切り記号。
/
日付の区切り記号。
"ABC" または 'ABC'
引用符の中身がそのまま出力されます。
\
次の文字の特殊な意味を値消します。\f はただの f が出力されます。
%
無視されますが、上記一文字だけでは使用できない書式指定子の前につけて使用することができます。
%
無視されますが、上記一文字だけでは使用できない書式指定子の前につけて使用することができます。

バージョンフォーマットは以下の通りです。

FileMajorPart または fM
ファイルのメジャーバージョンを取得します。
FileMinorPart または fm
ファイルのマイナーバージョンを取得します。
FileBuildPart または fB
ファイルのビルド番号を取得します。
FilePrivatePart または fP
ファイルのプライベートバージョンを取得します。
FileDescription または fD
ファイルの説明を取得します。
FileName または fN
ファイル名を取得します。
FileVersion または fV
ファイルのバージョンを取得します。
ProductMajorPart または pM
ファイルを含む製品のメジャーバージョンを取得します。
ProductMinorPart または pm
ファイルを含む製品のマイナーバージョンを取得します。
ProductBuildPart または pB
ファイルを含む製品のビルド番号を取得します。
ProductPrivatePart または pP
ファイルを含む製品のプライベートバージョンを取得します。
ProductName または pN
ファイルを含む製品の名前を取得します。
ProductVersion または pV
ファイルを含む製品のバージョンを取得します。
Comments
ファイルに関するコメントを取得します。
CompanyName
ファイルを作成した会社名を取得します。
InternalName
ファイルの内部名を取得します。
IsDebug
ファイルがデバッグバージョンかどうか取得します。
IsPatched
ファイルが修正されたものかどうか取得します。
IsPreRelease
ファイルがプレリリースバージョンかどうか取得します。
IsPrivateBuild
ファイルがプライベートリリース用のバージョンかどうか取得します。
IsSpecialBuild
ファイルが特別なリリースバージョンかどうか取得します。
Language
ファイルの言語を取得します。
LegalCopyright
ファイルの著作権情報を取得します。
LegalTrademarks
ファイルの商標情報を取得します。
OriginalFilename
ファイルの変更前の名前を取得します。
PrivateBuild
プライベートビルドバージョンを取得します。
SpecialBuild
スペシャルビルドバージョンを取得します。

たとえばテキストファイルを検索したとき ${match:number} of ${file:parent-count:*.txt} とすれば ディレクトリ内のテキストのうち、何個分の何個目なのかわかります。