Neo FileInfoListは、ファイルやフォルダーの情報をHTML・CSV・テキストへ一覧出力するツールです。
画像のピクセルサイズなどを素材リストへまとめる際に利用できます。
現在の公式ページと既存の画面記録
旧公式URLは2026年10月2日の確認で404だったため、NJPの現行公式ページへリンクを更新しました。
公式ページには対象フォルダー、出力項目、出力形式の指定と、実行プレビューが案内されています。
動作環境と導入手順は現行の公式ページで確認してください。
以下の画像は2017年3月の旧版の記録で、現在の版の画面操作は今回検証していません。
対象フォルダーを選択する画面の記録です。

出力項目と順序を指定する画面の記録です。

CSVを出力した旧版の例です。

画像の名前・幅・高さをCSVに出す代替手順
ZIPは新しい空のフォルダーへ展開し、元データや既存の出力を含む場所へ重ねて展開しないでください。
画像名、相対パス、拡張子、バイト数、幅、高さだけが必要なら、Windows PowerShell 5.1でもCSVを作れます。
この方法はNeo FileInfoListの全機能やEXIF項目を再現するものではありません。
PS1はWindows PowerShell 5.1で使用し、UTF-8(BOM付き)で保存します。
以下の起動例はそのプロセスだけにRemoteSignedを指定し、PC全体の実行ポリシーは変更しません。
ダウンロードしたPS1の署名エラーでは内容と出所を確認し、信頼できる対象ファイルだけプロパティからブロックを解除します。
組織のポリシーで止まる場合は管理者へ確認してください。
- ZIPのimagesにあるPNG・JPEG・テキスト・読み取れない画像を確認する
- ZIPを展開した場所でコマンドプロンプトを開く
- 次のコマンドを実行し、images.csvをテキストエディターなどで開く
powershell.exe -NoProfile -ExecutionPolicy RemoteSigned -File ".\inventory.ps1" -Source ".\images" -Output ".\images.csv" -ImageSize日本語 ! & [x],a.pngの幅・高さは32・16、b.JPGは12・9になります。
Nameにカンマを含む場合もCSVの引用符で1つの列に保持し、UTF-8(BOM付き)で保存します。
ImageStatusは読み取れた画像がok、壊れた画像がread_error、対象形式以外はnot_imageです。
対象形式はPNG・JPEG・BMP・GIFで、幅と高さは先頭の画像をピクセル単位で取得します。
ファイル一覧だけなら-ImageSizeを外し、画像サイズを読み取らずに出力できます。
一覧出力スクリプトの全文
param([Parameter(Mandatory=$true)][string]$Source,
[Parameter(Mandatory=$true)][string]$Output,
[switch]$ImageSize)
$ErrorActionPreference = 'Stop'
$item = Get-Item -LiteralPath $Source
if (-not $item.PSIsContainer) { throw 'Source must be a folder' }
$root = $item.FullName.TrimEnd('\')
$out = [IO.Path]::GetFullPath($Output)
if ($out.StartsWith($root + '\', [StringComparison]::OrdinalIgnoreCase) -or $out -eq $root) { throw 'Output must be outside Source' }
if (Test-Path -LiteralPath $out) { throw 'Output already exists' }
$entries = @(Get-ChildItem -LiteralPath $root -Recurse -Force)
if (($item.Attributes -band [IO.FileAttributes]::ReparsePoint) -or
@($entries | Where-Object { $_.Attributes -band [IO.FileAttributes]::ReparsePoint }).Count) { throw 'Links/junctions are not supported' }
$files = @($entries | Where-Object { -not $_.PSIsContainer } | Sort-Object FullName)
if (-not $files.Count) { throw 'No files' }
if ($ImageSize) { Add-Type -AssemblyName System.Drawing }
$rows = @(foreach ($file in $files) {
$w = $null; $h = $null; $status = 'not_requested'
if ($ImageSize) {
$status = 'not_image'
if ($file.Extension -match '^\.(png|jpe?g|bmp|gif)$') {
$image = $null
try {
$image = [Drawing.Image]::FromFile($file.FullName)
$w = $image.Width; $h = $image.Height; $status = 'ok'
} catch { $status = 'read_error' }
finally { if ($image) { $image.Dispose() } }
}
}
[pscustomobject]@{
RelativePath = $file.FullName.Substring($root.Length + 1)
Name = $file.Name
Extension = $file.Extension
Bytes = $file.Length
Width = $w
Height = $h
ImageStatus = $status
}
})
# CreateNew prevents an existing CSV from being overwritten, including at write time.
$stream = [IO.File]::Open($out, [IO.FileMode]::CreateNew, [IO.FileAccess]::Write, [IO.FileShare]::None)
$writer = [IO.StreamWriter]::new($stream, [Text.UTF8Encoding]::new($true))
try { $rows | ConvertTo-Csv -NoTypeInformation | ForEach-Object { $writer.WriteLine($_) } }
finally { $writer.Dispose() }
Write-Host ('Exported: ' + $rows.Count)
結果の確認・失敗時の切り分け・戻し方
Output already existsでは新しいCSV名を指定し、既存のCSVを上書きしないでください。
出力は入力フォルダーの外へ置き、リンク・ジャンクションを含む対象は使いません。
read_errorでは元画像を画像ソフトで開けるか確認し、空欄の幅・高さを0ピクセルと判断しないでください。
CSVは素材の内容を変更しないため、やり直すときは新しい出力名で実行します。
2026年10月2日にWindows PowerShell 5.1とSystem.DrawingでPNG・JPEGの寸法、壊れた画像の区別、カンマ・日本語を含む名前、UTF-8保存、既存CSVの保持を検証しました。
Neo FileInfoListの現行GUIとExcelへの取り込み画面は未検証です。
仕様:Microsoft Image.FromFile、ConvertTo-Csv。
関連するファイル操作とツール





