この記事では、ファイルのフルパスを瞬時に取得するバッチファイルを紹介します。
バッチファイルのアイコンの上にファイルをドラッグアンドドロップするだけで、それらのフルパスが入ったテキストファイルが自動で作成されます。
フォルダのパスも、同じ方法で取得できます。
ファイルとフォルダを一緒にドラッグアンドドロップできます。
このバッチファイルは、この記事の後半に示すコードをメモ帳に貼り付けるだけで使えます。
概要を以下に示します。

バッチファイルの使い方
このバッチファイルの使い方は、とてもシンプルです。
以下のイラストのように、ファイル/フォルダをバッチファイルのアイコンの上にドラッグアンドドロップするだけです。

ドラッグアンドドロップするファイル/フォルダは、バッチファイルのあるフォルダとは別のフォルダの中にあっても、同じフォルダにあってもかまいません。
ドラッグアンドドロップすると処理が自動で始まり、バッチファイルの存在するフォルダの中にテキストファイル(FilePaths.txt)が自動で作成されます。
既に同名のテキストファイルがある場合は、上書きされずに、末尾に番号が付いたテキストファイルが作成されます。
テキストファイルを開くとファイル/フォルダのフルパス一覧を確認できます。
バッチファイルの使用方法の確認
バッチファイル自体をダブルクリックすると、以下のように使用説明を確認できます。
(ダブルクリックしても、使用説明が表示されるだけで、他の処理は何も行われません)

使い方を忘れたときにダブルクリックしてみてくださいね

注意点
一度にドラッグアンドドロップするファイル/フォルダの数は50くらいに留めておいてください。
名前が長すぎなければ、実際はもっと処理できますが、50くらいが最大処理数だと考えて下さい。
多すぎて処理できない場合は、画面が一瞬で閉じ、テキストファイルは作成されません(このバッチファイルの限界です)。
もっと多くのファイルのフルパスを一度に取得したい方は、以下のバッチファイルを使用してください。
フォルダ内のファイル一覧をCSV出力するバッチファイルはこちら
バッチファイルの作成方法(コード)
このバッチファイルの作り方はシンプルです。
別の記事で紹介した「バッチファイルの作成方法」の手順3で、以下のコードをメモ帳に貼り付けるだけです。
バッチファイルの名前は何でもかまいません。
@echo off
setlocal enabledelayedexpansion
rem 最初に引数の有無をチェック
if "%~1"=="" (
goto :show_usage
) else (
goto :process_files
)
:show_usage
cls
echo.
echo ======================================================================
echo ファイルパス取得ツール - 使い方
echo ======================================================================
echo.
echo ########################################################################
echo # #
echo # このバッチファイルは、ドラッグ&ドロップで使用するツールです。 #
echo # #
echo # 【使用方法】 #
echo # 1. 任意のファイルを選択します #
echo # 2. 選択したファイルをこのバッチファイルのアイコンの上に #
echo # ドラッグ&ドロップします #
echo # 3. 自動的に処理が開始され、ファイルのパスが記録されます #
echo # #
echo # 【出力】 #
echo # * このバッチファイルと同じフォルダに「FilePaths.txt」 #
echo # という名前でテキストファイルが作成されます #
echo # * 同名ファイルが既に存在する場合は、自動的に番号が #
echo # 付与されます (例: FilePaths_1.txt, FilePaths_2.txt) #
echo # #
echo # 【注意事項】 #
echo # * 一度にドラッグ&ドロップするファイル数は、50個程度までに #
echo # してください。多すぎると処理できません。 #
echo # #
echo ########################################################################
echo.
echo ======================================================================
echo.
echo 任意のキーを押して終了...
pause > nul
exit /b
:process_files
rem 出力ファイル名の基本部分を設定
set "baseFileName=FilePaths"
set "outputFile=%~dp0%baseFileName%.txt"
rem 同名ファイルが存在する場合、番号を付けて新しいファイル名を生成
set counter=1
:checkFileName
if exist "!outputFile!" (
set "outputFile=%~dp0%baseFileName%_%counter%.txt"
set /a counter+=1
goto checkFileName
)
rem ドラッグ&ドロップされたファイルのパスをテキストファイルに出力
echo ドロップされたファイルのパス一覧 > "!outputFile!"
echo 作成日時: %date% %time% >> "!outputFile!"
echo. >> "!outputFile!"
rem 処理したファイル数とフォルダ数をカウント
set fileCount=0
set folderCount=0
rem 各ファイル/フォルダパスを出力
for %%i in (%*) do (
echo %%~fi >> "!outputFile!"
if exist "%%~fi\" (
set /a folderCount+=1
) else (
set /a fileCount+=1
)
)
rem 合計を計算
set /a totalCount=fileCount+folderCount
echo.
echo ファイルのパスを "!outputFile!" に出力しました。
echo 処理したファイル数: !fileCount! 件
echo 処理したフォルダ数: !folderCount! 件
echo 処理合計: !fileCount! + !folderCount! = !totalCount! 件
echo 任意のキーを押して終了...
pause > nul
exit /b
バッチファイルのファイル名は何でもかまいません。
当ブログのバッチファイル一覧
以下は、このブログで紹介しているバッチファイルの一覧です。
コピペするだけで使えます

各バッチファイルの概要をイラストで見たい方は、こちらをご参照ください。
ファイル名の一括変更
拡張子の一括変更
ファイルの拡張子を一括で変更するバッチファイルはこちら
ファイル情報の取得
ショートカット整理
複数のショートカットを1つにまとめて整理するバッチファイルはこちら
ファイル整理
ファイルを種類ごとに自動でフォルダ分けするバッチファイルはこちら
データバックアップ
パソコンデータをミラーリングしてUSBメモリにバックアップするバッチファイルはこちら