ファイルやフォルダ等をドラッグすると、同名の空テキストファイルを作成するバッチ

意外と使えるので共有します。


@echo off

rem NULLTEXT.BAT
rem 作成環境 : Microsoft Windows Server 2003 SP1

rem ******************
rem * 概要
rem ドラッグ and ドロップしたファイル or ディレクトリ名を元に、
rem 変数extで指定した拡張子の空ファイルを生成します。
rem バッチをダブルクリックで開いた場合、作成するファイル名の入力を求めます。

rem ******************
rem * 空ファイル作成規則
rem ファイル or ディレクトリをドラッグ and ドロップした場合...
rem 当該ファイル or ディレクトリが存在するディレクトリ直下
rem ダブルクリックした場合...
rem バッチファイルを置いているディレクトリ直下

set ext=.txt

rem // ダブルクリックした場合の処理
if "a%~1" == "a" (
echo カレントディレクトリに作成するファイル名を入力してください。
echo 拡張子は不要です。
set /p fn=
rem // ファイルをドラッグ and ドロップした場合の処理
) else (
set fn=%~d1%~p1%~n1
)

rem 同名ファイルがある場合、ファイル名をカウントアップ
rem って言うか、for使えよ...
:file
if exist "%fn%%num%%ext%" (
set /a count=count+1
set num=%count%
goto file
) else (
type nul>"%fn%%num%%ext%"
)

rem 完了
echo [%fn%%num%%ext%]
echo を作成しました。
pause