batchでドラッグ&ドロップでファイル名を取得する方法

batch

windowsでファイルやフォルダを、バッチファイルにドラッグ&ドロップした際に、そのファイル名を取得する方法を紹介します。

ドラッグ&ドロップでファイル名を取得するソースコード

ファイルパスを出力する

@echo off

for %%f in (%*) do (
  echo %%f
)
pause;

再帰的に検索する

フォルダの中身のファイルパスを再帰的に取得したい場合
ファイル名を取得する処理に、「/r」を付与します

@echo off

for /r %%f in (%*) do (
  echo %%f
)
pause;

ファイル名のみ出力する(拡張子なし)

絶対パスでなく、ファイル名のみ取得したい場合
for文の検索結果への参照方法を「%%~nf」に変更します

@echo off

for %%f in (%*) do (
  echo %%~nf
)
pause;

ファイル名のみ出力する(拡張子あり)

絶対パスでなく、ファイル名+拡張子のみ取得したい場合
for文の検索結果への参照方法を「%%~nxf」に変更します

@echo off

for %%f in (%*) do (
  echo %%~nxf
)
pause;

コメント

タイトルとURLをコピーしました