コマンド プロンプト | 選択ファイルの名前をコピーするバッチファイル

2022-11-05コマンド プロンプト,バッチファイル サンプル集

選択しているファイルのファイル名をクリップボードにコピーするWindowsのバッチファイルです。

Windowsでは「F2」でファイル名の変更状態にして「Ctrl + C」でファイル名をコピーする手順が一般的だと思いますが、PC作業にて利用する頻度が高いため、もう少し手軽にファイル名をコピーできないものか模索しています。

バッチファイル(.bat)で対処しようと探しても、なかなか目的のものが見つからなかったので作成してみました。

ファイル名をクリップボードにコピーするバッチファイル

選択しているファイル名をクリップボードにコピーするバッチファイルのサンプルになります。

以下のコマンドはファイルの拡張子を含まないファイル名のみをクリップボードにコピーします。

@echo off
echo %~n1 | clip

ファイルの拡張子も一緒にコピーする場合は以下のコマンドで対応可能です。

@echo off
echo %~nx1 | clip

使い方としては、ファイルの右クリックメニュー(コンテキストメニュー)から作成したバッチファイルに「送る」を実行する事も考えられますが、特にWindows11ではコンテキストメニューが変更されており「F2」+「Ctrl + C」より手数が圧倒的に増えてしまい本末転倒です。

というわけで、支障がなければデスクトップに配置しておいて、ファイル名をコピーしたいファイルをドロップする事でファイル名を取得する事ができるようになります。

ファイルをバッチファイルにドロップ
ファイルをバッチファイルにドロップ

※キャプチャ画像はバッチファイルのショートカットです。

この作業でクリップボードにドロップしたファイル名がコピーされます。

クリップボードにファイル名がコピーされる
クリップボードにファイル名がコピーされる

Windows11ではファイルをタスクバーのアプリに投げて開く、という事が現在は出来ない状態ですのでデスクトップ配置しか方法がないかもしれません。

理想的には「設定したショートカットキーで選択しているファイルをバッチファイルに投げて実行する」という処理が出来たらと考えますが方法がわかりません。