这个容易,%0既是批处理文件本身的文件名。按你的要求大致的可以这样:
@echo off & setlocal enabledelayedexpansionset fn=%~n0%~x0...if not {str}=={!fn!} .........endlocal & @echo on