¿Cómo arreglar este código para elegir solo archivos de texto?

¿Cómo arreglar este código para elegir solo archivos de texto?

Estoy ejecutando un programa por lotes para seleccionar los archivos de texto de una ventana de diálogo, pero en su lugar selecciona todo tipo de archivos.

El archivo por lotes que estoy ejecutando:

    set dialog="about:<input type=file id=FILE><script>FILE.click();new ActiveXObject
    set dialog=%dialog%('Scripting.FileSystemObject').GetStandardStream(1).WriteLine(FILE.value);
    set dialog=%dialog%close();resizeTo(0,0);</script>"

    for /f "tokens=* delims=" %%p in ('mshta.exe %dialog%') do set "file=%%p"
    echo selected  file is : "%file%"
    pause

Rendimiento esperado:

El explorador de archivos emergente solo debe elegir archivos de texto *.txten lugar de todos los archivos.*.*

información relacionada