Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Modificar Batch (https://www.clubdelphi.com/foros/showthread.php?t=64983)

Cañones 12-11-2009 20:38:34

Modificar Batch
 
Hola a todos.
Necesito hacer un programa en Delphi 7 que dependiendo del usuario que inicia sesión en Windows modifique un archivo bat.
La detección del usuario ya lo tengo hecho, pero necesito saber como modificar el archivo bat o bien como borrarlo y crear uno nuevo.
Anduve buscando en google y el club, pero nada.
Desde ya muchas gracias por su tiempo.

Saludos.
Isidoro.

rgstuamigo 12-11-2009 20:42:47

No lo he probado pero si tu archivo .bat no es demasiado grande(pesado), creo que puedes abrirlo usando un StringList,en este hilo he puesto un ejemplo, claro que ahi lo hago con un .txt;)
Saludos..:)

Cañones 12-11-2009 21:58:28

Cita:

Empezado por rgstuamigo (Mensaje 346408)
No lo he probado pero si tu archivo .bat no es demasiado grande(pesado), creo que puedes abrirlo usando un StringList,en este hilo he puesto un ejemplo, claro que ahi lo hago con un .txt;)
Saludos..:)

En realidad tiene 5 renglones nada mas y solo necesito cambiar uno.

Voy a probar como me decis y después te cuento que salio de esto.

Saludos y gracias por tu pronta respuesta.

Isidoro.

marcoszorrilla 12-11-2009 22:06:01

También conviene destacar que los archivos Bat admiten parámetros y una leve programación.


Un Saludo.

rgstuamigo 12-11-2009 22:06:10

Cita:

Empezado por Cañones (Mensaje 346415)
En realidad tiene 5 renglones nada mas y solo necesito cambiar uno.

Voy a probar como me decis y después te cuento que salio de esto.

Saludos y gracias por tu pronta respuesta.

Isidoro.

Bueno en ese caso tambien puedes usar un Memo o un RichEdit para leerlo o modificarlo si lo quieres hacer desde el formulario.;)
Con el Memo
Código Delphi [-]
Memo1.Lines.LoadFromFile('C:\MyArchivo.bat');//Para leerlo
//...//Modifico
Memo1.Lines.SaveToFile('C:\MyArchivo.bat');//Para guardarlo
ó con un RichEdit
Código Delphi [-]
RichEdit1.Lines.LoadFromFile('C:\MyArchivo.bat');//Para leerlo
//...Modifico
RichEdit1.Lines.SaveToFile('C:\MyArchivo.bat');//Para guardarlo
Saludos...:)

Cañones 12-11-2009 22:12:28

Listo.- Lo hice como me indicas y funciona perfecto
No necesito mostrarlo ni verlo, solo modificarlo internamente según el usuario que inicia sesión.

Muchísimas gracias.
Que la fuerza te acompañe.

Cañones 12-11-2009 22:15:27

Cita:

Empezado por marcoszorrilla (Mensaje 346416)
También conviene destacar que los archivos Bat admiten parámetros y una leve programación.


Un Saludo.


Si leí un poco, pero solo es una leve modificación en como ese bat nombra unos archivos y no ví manera de parametrizar, por eso lo re escribo.

Gracias por tu tiempo.
Saludos.
Isidoro.

rgstuamigo 12-11-2009 22:23:53

Cita:

Empezado por marcoszorrilla (Mensaje 346416)
También conviene destacar que los archivos Bat admiten parámetros y una leve programación.


Un Saludo.

Disculpa mi ignorancia marcoszorrilla..me podrias explicar al respecto como se hace eso?;) pues me interesa aprender...:)
Saludos...:)

afunez2007 12-11-2009 22:24:33

Deberias dar mas detalles de que es exactamente lo que quieres cambiar, y si el archivo bat ejecuta comandos de acuerdo al usuario que se loguea, o para que lo usas?

Saludos

marcoszorrilla 12-11-2009 22:32:14

Yo he utilizado los parámetros y la programación bat muchas veces:
Código:

if %os%==%1 goto correcto      si el sistema operativo (%os%) es igual al primer parámetro (%1) ir a etiqueta
 correcto           
echo el sistema operativo NO es %1
 poner el mensaje de que no es
 goto fin
:correcto    etiqueta          echo el sistema operativ
 SI es %1      poner el mensaje de que si es           
:fin

Mejor mira este enlace.

Un Saludo.

ixMike 12-11-2009 22:35:38

Cita:

Empezado por rgstuamigo (Mensaje 346421)
Disculpa mi ignorancia marcoszorrilla..me podrias explicar al respecto como se hace eso?;) pues me interesa aprender...:)
Saludos...:)

Pues hay información por la web, mucha. Batch no lo he tocado mucho, pero lo de los parámetros alguna vez me ha hecho falta.

Para pasarle unos parámetros, es igual que con los ejecutables:

Código:

hello.bat parametro1 "parametro dos" parametro3
Para accerder a ellos dentro del bat, tan solo tienes que escribir la cadena %X, donde X es un número entero que indica qué parametro coges (el primero, el segundo, el tercero...). El paramétro cero es el nombre del archivo batch (igual que sucede con los ejecutables.

Un ejemplo, un batch que recibe dos parámetros, uno un texto para guardar en un archivo y otro el nombre del archivo a crear. La forma de llamarlo sería:

Código:

creador.bat "Este es el texto contenido en el archivo" miarchivo.txt
y el código del batch sería:

Código:

echo %1 > %2

Buscando por la red encontrarás mil virguerías ;)


Salu2 :D

ixMike 12-11-2009 22:36:37

P.D.: marcoszorrilla siempre adelantándoseme :D

rgstuamigo 12-11-2009 22:39:47

Ahhh..Bueno...;)...eso ya lo conocía...:D..al parecer entendi mal el comentario de marcoszorrilla. Pensé que todo lo iba a hacer desde Delphi..;).
Saludos...:)


La franja horaria es GMT +2. Ahora son las 16:29:28.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi