:: rot13.btm -- Do ROT13 translation setlocal unset /q ch iff %1.==. then echo usage: %0 file_to_rot13.txt quit 1 else set fp$=%@fileopen[%1,read] iff %fp$ == -1 then echo rot13.btm: error opening file %1 quit 2 endiff endiff setdos /x-45678 do forever set ch=%@ascii[%@fileread[%fp$,1]] if %@len[%ch] gt 3 leave iff %ch == 10 then echo. else iff (%ch ge 65 .and. %ch le 77) .or. (%ch ge 97 .and. %ch le 109) then set ch=%@eval[%ch + 13] elseiff (%ch ge 78 .and. %ch le 90) .or. (%ch ge 110 .and. %ch le 122) then set ch=%@eval[%ch - 13] endiff echos %@char[%ch] endiff enddo setdos /x0 set fp$=%@fileclose[%fp$]