Eu tenho um certo preconceito quanto a programação no windows. Acho tão sem sentido (para não dizer inútil). Mas, de fato é uma boa para aprender uma base de lógica de programação como o noobinhu disse.
Uma crítica que eu tenho a fazer aos seus programas, não use goto/labels. Faça funções separadas, ou subprogramas (creio que em bat também tenha essa opção igual no shell script (linux))... Se, por um acaso, você precisar passar seus programas para alguém é muito complicado ler o código todo emaranhado com goto's, fica muito confuso mesmo (experiência própria). Existe sempre 1001 maneiras de se implementar alguma coisa, e usando goto, na minha opinião, não é uma das melhores.
Só ali no seu programa de gerar números da mega sena, você poderia ao invés de colocar uma notificação que existe o arquivo padrão a ser utilizado (jogo.txt) e perguntar se a pessoa deseja usar outro arquivo (ela inseriria o nome). Como não sei bat (e to com preguiça de procurar algumas coisas básicas escreverei em shell script (linux):
if -e $arquivoOrig then //verifica se já existe o arquivo na pasta do programa
echo Arquivo já existe, entre com nome para novo arquivo //notifica ao usuario que existe o arquivo
read novoArquivo //le do teclado o nome do novo arquivo
fi
Isso é um exemplo besta de como contornar situações desnecessárias de goto. Ali, é claro, você precisa tratar outros erros, como se o cara digitar o nome de outro arquivo que já exista na pasta (teria que fazer um loop e verificação e tal)... Mas, como eu não to no linux, e não quero desenvolver algo aqui que eu não tenho certeza se vai funcionar, pararei por ali (nem aquilo ali eu tenho certeza se tá funcionando rs)
Como o Anderson já disse, é uma boa iniciativa sua fazer um tópico desse ... Parabéns.
Se tiver curiosidade em mexer com linux, programação de shell script, C e essas baboseiras pode me procurar, talvez eu tenha paciência para explicar algo, ou passar alguma coisa pronta que eu tenha aqui