> set f=%$FILE% > set g=%%~nf > echo %g% 上のスクリプトは、下記に載っているような、バッチファイルのパラメタ修飾子を参考になされたと、思います。 http://ykr414.com/dos/bat.html#05 これらは、バッチファイル起動時に与えられたパラメタに対する修飾子であり、バッチ変数に対するものではありません。 ここでは、 batch01.bat と batch02.bat という二つのスクリプトを作成します。 batch02.bat では、 @echo off echo %~n1%~x1 batch01.bat では、 @echo off call test02.bat "%$FILE%" 以上のようにすれば、 $FILE 変数が batch02.bat の第一パラメタとして与えられるので、これをパラメタ修飾子で分解すれば、ファイル名だ
![DOSのバッチで、変数中のファイル名を取り出すには - OKWAVE](https://cdn-ak-scissors.b.st-hatena.com/image/square/a3202632a5b19efa6d7dbcca644fc13bfa3453dc/height=288;version=1;width=512/https%3A%2F%2Fgazo.okwave.jp%2Fokwave%2Fspn%2Fimages%2Flogo%2Ffacebook_okwave.jpg)