指定フォルダ内のファイル名をテキストとして取り出す
生成ツール(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 設定
③ 同様に実行可能

