Вообще-то, судя по тексту, программа рассчитана на
1) удаление каталогов, а не файлов (команда rd)
2) указание входного каталога без всяких подстановочных символов типа *.
Не проверяю придирчиво правильность исходного файла, но, если он работает. то изменить его надо так:
Set Src=C:
set mask=*.txt
.
.
.
if /i "%~1" neq "%Src%" Echo del /q "%~1"\%mask%
И даже это не совсем то, что надо, потому что Echo в этой строке явно рассчитано не на реальное удаление, а на отладочную проверку данного алгоритма. Я этот приём часто использую. После того, как убедишься, что выдаются на экран нужные команды удаления, надо будет убрать Echo.