指定フォルダ内のファイル名をテキストとして取り出す

生成ツール(PowerShell)版

フォルダ内ファイル名から index 用リンクHTMLを生成する手順書(PowerShell版)
■ 目的
指定フォルダ内のファイル一覧から、index.htmlに貼り付け可能なリンクHTML断片を自動生成する。
他のパソコンでも再現可能な完全手順を記載する。
1. 保存場所の作成
① デスクトップにフォルダを作成
例: C:\Users\user\Desktop\index_tool
2. make_links.ps1 の作成
① メモ帳を開く
② 以下のスクリプトをすべて貼り付ける
③ 名前を make_links.ps1 として保存(拡張子が .txt にならないよう注意)

param(
[string]$Folder
)

if (-not $Folder) {
Add-Type -AssemblyName System.Windows.Forms
$dialog = New-Object System.Windows.Forms.FolderBrowserDialog
$dialog.Description = "リンク一覧を作成するフォルダを選択してください"
$dialog.ShowNewFolderButton = $false
if ($dialog.ShowDialog() -ne [System.Windows.Forms.DialogResult]::OK) {
exit
}
$Folder = $dialog.SelectedPath
}

$exts = @(".html", ".pdf", ".xlsx", ".xls", ".docx", ".doc", ".pptx", ".ppt")

$files = Get-ChildItem -Path $Folder -File |
Where-Object {
$exts -contains $_.Extension.ToLower() -and $_.Name.ToLower() -ne "index.html"
} |
Sort-Object Name

function Get-Label($ext) {
switch ($ext.ToLower()) {
".pdf" { return "PDF" }
".xlsx" { return "XLSX" }
".xls" { return "XLS" }
".docx" { return "DOCX" }
".doc" { return "DOC" }
".pptx" { return "PPTX" }
".ppt" { return "PPT" }
".html" { return "HTML" }
default { return $ext.ToUpper().TrimStart(".") }
}
}

function HtmlEscape($s) {
return [System.Net.WebUtility]::HtmlEncode($s)
}

$lines = New-Object System.Collections.Generic.List[string]
foreach ($f in $files) {
$label = Get-Label $f.Extension
$nameEsc = HtmlEscape $f.Name
$href = $f.Name
$lines.Add(" <li class=""item""><a class=""link"" href=""$href""><span class=""tag"">$label</span><span class=""fname"">$nameEsc</span></a></li>")
}

$htmlSnippet = ($lines -join "`r`n")
$outFile = Join-Path $Folder "links.html"

Set-Content -Path $outFile -Value $htmlSnippet -Encoding UTF8
Set-Clipboard -Value $htmlSnippet

Write-Host "完了: links.html を作成しました。"

3. PowerShell実行許可(初回のみ)
① スタートを右クリック → ターミナル(管理者)
② 以下を入力
Set-ExecutionPolicy RemoteSigned
③ Y を入力してEnter
4. 実行方法
① PowerShellを開く
② フォルダへ移動
cd C:\Users\user\Desktop\index_tool
③ 実行
.\make_links.ps1
④ フォルダ選択 → OK
5. 出力結果
選択したフォルダ内に links.html が生成される。
同時にHTMLはクリップボードにもコピーされる。
index.htmlのリンク部分へ貼り付けて使用する。
6. 右クリックメニュー登録(任意)
レジストリ登録により、フォルダ右クリックから実行可能。
別途 .reg ファイルを作成して登録する。
7. 他PCへ展開方法
① index_tool フォルダごとコピー
② 初回のみ ExecutionPolicy 設定
③ 同様に実行可能