下のようなのを作る場合変数iの引数は12個まで
とかいう決まりがあるのでしょうか?

for %%i in (%*) do xxxxx %%i
pause

このバッチファイルに引数となるファイルをドラッグ&ドロップしたら
「指定されたデバイス、パス、またはファイルにアクセスできません。
 アクセス許可がない可能性があります。」

と言われます。ちなみに12個まではOKでした。