La Web del Programador: Comunidad de Programadores
 
    Pregunta:  15141 - MODIFICAR AUTOEXEC.BAT POR PROGRAMA
Autor:  Raul Mederos
Como puedo insertar la linea SET CLIPPER=Fxxx en el autoexec.bat, ya que tengo que hacer una instalación y no quiero que el cliente este modificando el autoexec.bat con algun editor de texto.
Agradezco a quien pueda brindarme alguna idea o ayuda.

  Respuesta:  Claudio Uez
*------------------------------------------------------------------
*
* Programa MODINI.prg
*
* Detalle CONFIG.SYS
* Fecha 23-06-2005
*
* Nota: podes usar la misma estructura para Autoexec.bat
*----------------------------------------------------------------

use DATOS
zap

APPE FROM C:\CONFIG.SYS SDF

GO TOP
DO WHILE !EOF()

linea := alltrim( upper( datos->texto) )
IF AT( "FILES" , linea ) <> 0
dele
exit
endif

SKIP
ENDDO

pack
append blank
repl datos->texto with "REM Agregado por RCU SISTEMAS"
append blank
repl datos->texto with "FILES=120"

// y asi le podes agregar las lineas que quieras

COPY TO C:\CONFIG.SYS SDF

close all

RETURN

  Respuesta:  JOSE ROLANDO QUINTERO PAZ
Hola
Aca te envio la respuesta:

Punto1=FOPEN("Autoexec.bat",2)

  Respuesta:  JOSE ROLANDO QUINTERO PAZ
Para agregar una linea al autoexec.bat

Punto1=FOPEN("Autoexec.bat",2)
IF FERROR() !=0
? "Error de apertura: " ,FERROR()
BREAK
ELSE
long=10000
cad=FREADSTR(Punto1,long)
FWRITE(Punto1, "SET CLIPPER=F49; R100; SWAPPATH:C:")
FCLOSE(Punto1)
ENDIF

Debes tener en cuenta que esta sentencia debe estar en el directorio raiz que supuestamente se debe encontrar en autoexec.bat, de lo contrario me dara un codigo de error nº 2 que significa que el archivo no exista, ok?
Tambien puedes probar anulando el long=1000 y Modificar lo siguiente

cad=FREADSTR(Punto1,32)
el numero 32 es la cantidad de caracteres a ingresar que incluyen los espacios en blanco entre palabra y palabra. Espero que te sirva