Ještě na jednu věc jsem si vzpomněl: příkazy jsem ti napsal správně, ale platí pro ruční zadávání z konzolového okna. Týká se to příkazu ftype. Když ho používáš v dávkovém souboru (tedy .bat, nebo .cmd - oba jsou totéž), tak musíš zdvojit znak %, aby interpreter (tj. Cmd.exe) poznal, že má dosadit znak procento a ne první parametr spouštěné dávky (který je prázdný) - viz následující řádky:
Pro ruční zadání: ftype txtfile="c:\Users\-\Desktop\txtprohlizec.exe" "%1"
Dávkový soubor: ftype txtfile="c:\Users\-\Desktop\txtprohlizec.exe" "%%1"