Moin,
eine klitzekleine Korrektur und das ganze sollte funktionieren ^^
Code:
if [%1] == [*.txt] do goto istxt
if [%1] == [*.exe] do goto isexe
goto end
:istxt
:: bla
:isexe
<sonstiger code>
::blubb
"[]" sind von daher ganz praktisch, dass man Fehler vermeidet, falls die Variable leer ist.
"*" sowie "?" sind Platzhalter, wobei "*" für mehrere Buchstaben stehen kann und "?" für nur einen.
Gruß