BATファイル(バッチファイル)は、Windows環境で簡易的なプログラムを実行できるツールです。今回はバッチファイルを使った自動化の例として、クリップボードの値を処理する事例です。利用できる場面等の用途は限定されそうですが、クリップボードの値を読み取り、加工し、クリップボードに戻す事例です。
確認したwindowsはWindows11 24H2です。
事例の前提
以下で紹介のとおり、Windows11のエクスプローラーで選択したファイルがハイライトされた状態で、「Ctrl+Shift+C」を押し、「パスのコピー」をします。選択したファイルのフルパスをコピー後、バッチファイルでファイル名だけの一覧に加工します。
バッチファイルの内容
バッチファイルの内容は以下のとおりです。
設定方法が不明な場合は、【Windows】選択したファイル名の一覧をクリップボードにコピーする方法 - shikumika’s diary を参考に設定方法を確認してください。
@echo off setlocal enabledelayedexpansion :: ファイル名のリストを初期化 set "fileList=" :: クリップボードからデータを1行ずつ取得してファイル名をリスト化 for /f "delims=" %%F in ('powershell get-clipboard') do ( set "fileList=!fileList!%%~nxF^&echo." ) :: リストをクリップボードにコピー echo !fileList! | clip :: 完了メッセージ echo ファイル名の一覧がクリップボードにコピーされました。 pause
補足説明
バッチファイル単独では、クリップボードから値を取得できないため、PowerShellコマンド get-clipboard を呼び出して、クリップボードの内容を1行ずつ処理しています。。
使い方
使用方法は、事例の前提のとおり、Windows11のエクスプローラーでファイルを選択、「Ctrl+Shift+C」でファイルのパスをクリップボードにコピーします。
その後、バッチファイルを実行、完了後に必要な場所に貼り付けをします。
バッチファイルにショートカットキーを割り当てするのも便利です(若干、動作の反応が悪く感じましたが)
以上、Windowsでクリップボードの値をバッチファイルで処理する事例でした。
クリップボードの値を対象に処理できるようになると、バッチファイルの活用範囲が広がります。