Ou pra compilar?
E porque ainda não fez?
Vai por parte, não queira tudo de uma vez.
Um recurso superinteressante, desde os tempos do DOS 3.0, é poder alterar o BAT que está sendo executado.
Até a IBM criou um menu que tirava vantagem disso.
Primeiro a pasta que será usada:
\tools\útil
porque tools? tools é ferramentas em inglês, um nome apropriado, e curto, poucas letras.
porque útil? porque vai conter utilitários variados e pequenos. UTIL=Utilitários
Aonde vai ficar esse programa de compilação?
Que tal \trabalho\compila ?
Faz parte de seus fontes de trabalho, e vai servir pra compilar.
primeiro o PATH
SET PATH=%PATH%;\tools\útil
depois o BAT, a linha depois do comando tanto faz:
\tools\útil\c.bat
@echo off
\trabalho\compila\compila.exe %*
xxx
Agora o programa:
// \trabalho\compila\compila.prg
PROCEDURE Main
LOCAL cTxt
cTxt := "@echo off" + hb_Eol()
cTxt += "rem \tools\útil\c.bat" + hb_Eol()
cTxt += "\trabalho\compila\compila.exe %*" + hb_Eol()
cTxt += "echo somente teste"
MemoWrit( "\tools\útil\c.bat", cTxt )
RETURN
FUNCTION hb_Eol() // se compilar com clipper
RETURN Chr(13) + Chr(10)
compilar e linqueditar
Ao digitar C <ENTER>
Vai aparecer "somente teste"
porque?
porque o bat chamou o EXE, e o EXE regravou o BAT colocando como próximo comando o ECHO somente teste
Ok.
Agora temos um BAT, que chama o programa, que grava no BAT os comandos que quiser.
Porque não direto no EXE?
Porque o BAT vai ter toda memória disponÃvel, e o EXE não, então podemos executar qualquer coisa com o BAT.