Amazonで商品を見るセール会場へ

Windowsバッチ│フォルダ内の画像名を取得するバッチファイル

PNG画像名の一覧を取得するには、対象フォルダーを明示してファイル名を読み取ります。

まず画面かUTF-8のテキストへ出力し、必要なときにクリップボードへコピーできます。

目次

画像名を取得する手順と出力先

画像名の一覧を取る流れを、先に確認しておきます。内容は、このページの説明にもとづく目安です。お使いの環境によっては、動作が異なる場合があります。

  1. まず、コマンドプロンプトで、対象フォルダーを明示して、画面にPNGの名前を表示してみる。
  2. 日本語を含む一覧は、UTF-8のテキストに保存する。練習用ZIPは空の練習フォルダーに展開して使う。
  3. PS1が署名エラーになる場合は、内容と出所を確認し、対象ファイルのプロパティからブロックを解除する。組織のポリシーで実行できない場合は、管理者に確認する。
  4. テキスト出力先が既にある場合は、上書きされずに停止するため、新しい絶対パスを指定する。
  5. よく使う場合は、「送る」メニューにBATのショートカットを置き、クリップボードに取得する。クリップボードの以前の内容は置き換わるため、先に保存しておく。
  6. 一覧が出ないときは、対象パスの存在、PNGの有無、ショートカットのリンク先、PS1がBATの隣にあるかを確認する。

画像ファイルは変更しないため、戻す操作は不要です。「送る」をやめる場合は、登録したショートカットだけを外します。

スポンサーリンク

コマンドプロンプトで画像名を確認する

C:\Practice\画像 資料を実際のパスに置き換え、CMDで次の1行を実行します。

cd /d "C:\Practice\画像 資料" && dir /b /a-d /o:n "*.png"

cd /dはドライブも切り替え、&&は移動に成功した場合だけ一覧の取得へ進みます。

dirの/bは名前だけ、/a-dはファイルだけ、/o:nは名前順で、サブフォルダーは対象に含めません。ただし、CMDのワイルドカードは短いファイル名にも一致するため、厳密に.pngだけを選ぶ必要がある場合は、次のPowerShell例の拡張子判定を使ってください。

日本語を含む一覧をUTF-8で保存する

Windows練習用データとスクリプト(ZIP)

ZIPは空の練習フォルダーへ展開し、下の手順で指定するサブフォルダーを開いて使います。

Windows PowerShell 5.1用のPS1はUTF-8(BOM付き)で保存します。

BATのRemoteSigned指定は起動したプロセスだけに適用し、ユーザーやPC全体の実行ポリシーは変更しません。

ダウンロードしたPS1が署名エラーになる場合は内容と出所を確認し、対象ファイルのプロパティからブロックを解除します。

組織のポリシーで実行できない場合は管理者へ確認し、ポリシーを回避して実行しないでください。

下のコードをpng-names.ps1として保存し、-Targetへフォルダーか、その中のファイルを1つ指定します。

param([Parameter(Mandatory=$true)][string]$Target,
      [string]$Output,
      [switch]$ToClipboard)
$ErrorActionPreference = 'Stop'
if (-not $Output) { $Output = Join-Path $PSScriptRoot 'png-names.txt' }
$item = Get-Item -LiteralPath $Target
$folder = if ($item.PSIsContainer) { $item.FullName } else { $item.DirectoryName }
$names = @(Get-ChildItem -LiteralPath $folder -File -Force |
    Where-Object Extension -ieq '.png' | Sort-Object Name | Select-Object -ExpandProperty Name)
if (-not $names.Count) { throw 'No PNG files; clipboard unchanged' }
if ($ToClipboard) {
    Set-Clipboard -Value ($names -join [Environment]::NewLine)
} else {
    if (Test-Path -LiteralPath $Output) { throw 'Output exists; choose a new filename' }
    $text = ($names -join [Environment]::NewLine) + [Environment]::NewLine
    [IO.File]::WriteAllText([IO.Path]::GetFullPath($Output), $text, [Text.UTF8Encoding]::new($true))
}
$names
powershell.exe -NoProfile -ExecutionPolicy RemoteSigned -File "png-names.ps1" -Target "C:\Practice\画像 資料"

PS1と同じ場所へpng-names.txtがUTF-8(BOM付き)で作成されます。配布ZIPのimages内の練習フォルダーをTargetに指定した場合は、a.pngと日本語 ! & [x].PNGの2行が想定結果です。実際のフォルダーでは、その中のPNG名が出力されます。

フォルダー内の.pngと.PNGを対象とし、サブフォルダーの画像やJPGは含めません。

送るメニューからクリップボードへ取得する

  1. png-names.ps1と下のBATをpng-names.batとして同じ場所へ保存する
  2. Win+Rでshell:sendtoを開き、png-names.batへのショートカットを置く
  3. 対象フォルダーか、その中のファイルを1つ選び、送るからショートカットを実行する
  4. テキストエディターへ貼り付け、PNG名の一覧を確認する
@echo off
setlocal DisableDelayedExpansion
if "%~1"=="" exit /b 1
powershell.exe -NoProfile -ExecutionPolicy RemoteSigned -File "%~dp0png-names.ps1" -Target "%~1" -ToClipboard
exit /b %errorlevel%

最初の選択項目だけを使い、ファイルならその親フォルダーを一覧の対象にします。

クリップボードの以前の内容は置き換わるため、残したい内容を先に保存してください。

一覧が出ないときの確認と戻し方

対象パスが存在しない場合やPNGがない場合はエラーで止まり、クリップボードは変更しません。

テキスト出力先が既にある場合は上書きせず停止するため、-Outputで新しい絶対パスを指定します。

送るから実行して別の場所の一覧になる場合は、ショートカットのリンク先と、PS1がBATの隣にあるかを確認します。

画像ファイルは変更しないため、戻す操作は不要で、SendToをやめる場合は登録したショートカットだけを外します。

2026年10月2日にWindowsでUTF-8出力とクリップボードの日本語一致、選択ファイルの親を使うBATを検証しました。

Explorerの送るメニューをクリックする操作自体は今回の検証に含みません。

仕様:Microsoft公式 cd、dir。

業務効率化に役立つその他のツールや設定は、以下のリンクから確認できます。

Windowsバッチの記事は、ほかにもあります。

スポンサーリンク

まとめ

対象パスを明示し、PNG名の一覧をUTF-8ファイルかクリップボードへ取得します。

よくある質問:画像名の一覧取得で迷ったときのチェックリスト

PNGの名前だけを一覧にするには?

対象フォルダーを明示して、dirコマンドの名前だけの表示を使います。ページでは、コマンドプロンプトの1行を紹介しています。

サブフォルダーの中の画像も、対象になりますか?

ページのコマンドでは、サブフォルダーは対象に含めません。

日本語のファイル名が文字化けしないようにするには?

UTF-8で保存します。ページでは、UTF-8出力とクリップボードの日本語が一致することを、Windowsで検証したと説明しています。

PS1が署名エラーになったら、どうしますか?

内容と出所を確認し、対象ファイルのプロパティからブロックを解除します。組織のポリシーで実行できない場合は、管理者に確認し、ポリシーを回避して実行しないでください。

出力先のファイルが既にあると、どうなりますか?

実行時に出力先が既に存在すると停止します。新しい絶対パスを指定してください。この例は存在確認と書き込みが別処理なので、同じ出力先への同時実行は避けてください。

「送る」メニューからの操作は、検証済みですか?

Explorerの「送る」メニューをクリックする操作自体は、ページの検証に含まれていません。お使いの環境で、確認してから使ってください。

次に学ぶ・作業環境を選ぶ

学習を続けたい方や、作業環境を整えたい方は、目的に合うガイドをご覧ください。

仕事効率化のおすすめ書籍

仕事用PCの選び方

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次