PowerShellでフォルダ内の画像一覧をHTMLに出力する

多数の画像ファイルの内容を人に見せたいときに、エクスプローラで適当に見てくださいではちょっと都合悪いことがあったので、ブラウザでどんな画像なのかササっと確認できるようにPowerShellで作った。やっつけで作ったので色々とツッコミどころもあるかもしれないけど、適宜改変してお使いくださいという事で。$Pathに画像の入っているフォルダを指定すると、そのフォルダの中にImageList.htmlと言うファイルが出来る。なお、このサンプルではJPEGファイルのみ出力の対象としている。
$Path = "C:\Users\xxxx\Desktop\Images"
$HtmlFile = $Path + "\ImageList.html"
$Stream = New-Object System.IO.StreamWriter($HtmlFile, $False, [Text.Encoding]::GetEncoding("UTF-8"))

$Stream.WriteLine("<!DOCTYPE html>")
$Stream.WriteLine("<html>")
$Stream.WriteLine("<head>")
$Stream.WriteLine("<meta charset=`"utf-8`">")
$Stream.WriteLine("<title>画像一覧</title>")
$Stream.WriteLine("</head>")
$Stream.WriteLine("<body>")
$Stream.WriteLine("<table rules=`"rows`">")

$Files = Get-ChildItem $Path -Name *.jpg
$No = 1
ForEach ($File In $Files) {
  $Stream.WriteLine("<tr><td valign=`"center`">No.$No</td><td><img border=`"0`" src=`"$File`"></td></tr>")
  $No++
}

$Stream.WriteLine("</table>")
$Stream.WriteLine("</body>")
$Stream.WriteLine("</html>")

$Stream.Close()
    この記事で書かれている製品やソフトについて
  • Windows10 Pro 64ビット
  • PowerShell 5.1.14393.206