Foros del Web » Programación para mayores de 30 ;) » Programación General » Visual Basic clásico »

Crear .bat

Estas en el tema de Crear .bat en el foro de Visual Basic clásico en Foros del Web. Hola Como puedo crear un .bat ?? necesito hacer back ups de mis datos en mysql y si genero un archivo .bat lo puedo ejecutar ...
  #1 (permalink)  
Antiguo 06/08/2010, 07:10
mgd
 
Fecha de Ingreso: enero-2009
Mensajes: 129
Antigüedad: 15 años, 9 meses
Puntos: 0
Crear .bat

Hola
Como puedo crear un .bat ??
necesito hacer back ups de mis datos en mysql y si genero un archivo .bat lo puedo ejecutar copiandolo en un directorio y ejecutar con shell(...) pero el tema es que el archivo .bat contiene el usuario y contraseña de mysql y cualquiera puede verlo entonces lo que me gustaría hacer es crear este archivo .bat, ejecutarlo y después borrarlo todo desde vb6.
Ademas también depende desde que SO se ejecuta porque desde XP el directorio del mysqldump es uno pero desde SEVEN es otro.
Muchas gracias
  #2 (permalink)  
Antiguo 06/08/2010, 07:31
Avatar de Sergestux  
Fecha de Ingreso: agosto-2007
Ubicación: Tapachula
Mensajes: 1.218
Antigüedad: 17 años, 3 meses
Puntos: 20
Respuesta: Crear .bat

Por que no lo creas como se crean los archivos binarios normales, metele las instrucciones desde codigo.

Mi pregunta es si tu respaldo que haras de mysql, tiene que cumplir con ciertos requerimientos, o unicamente haces un backup total de toda la BD?

Quizas hayan mejores soluciones para lo que deseas
  #3 (permalink)  
Antiguo 06/08/2010, 09:20
mgd
 
Fecha de Ingreso: enero-2009
Mensajes: 129
Antigüedad: 15 años, 9 meses
Puntos: 0
Respuesta: Crear .bat

La idea es crear un back up total de la base de datos pero no entiendo a que requisitos te referís... seguramente hay mejores opciones pero no las conozco.
Y lo de archivos binarios normales tampoco se de que se trata...
Voy a averiguar, gracias
  #4 (permalink)  
Antiguo 06/08/2010, 16:26
Avatar de Sergestux  
Fecha de Ingreso: agosto-2007
Ubicación: Tapachula
Mensajes: 1.218
Antigüedad: 17 años, 3 meses
Puntos: 20
Respuesta: Crear .bat

El mysql en que sistema operativo esta?
  #5 (permalink)  
Antiguo 06/08/2010, 23:41
mgd
 
Fecha de Ingreso: enero-2009
Mensajes: 129
Antigüedad: 15 años, 9 meses
Puntos: 0
Respuesta: Crear .bat

En XP pero puede ser que tambien use con Seven O vista
  #6 (permalink)  
Antiguo 09/08/2010, 10:23
mgd
 
Fecha de Ingreso: enero-2009
Mensajes: 129
Antigüedad: 15 años, 9 meses
Puntos: 0
Respuesta: Crear .bat

Diganme al menos como los hacen ustedes
  #7 (permalink)  
Antiguo 12/08/2010, 13:45
Avatar de A.H.H  
Fecha de Ingreso: mayo-2007
Ubicación: IRUN,(GUIPUZCOA) España
Mensajes: 178
Antigüedad: 17 años, 6 meses
Puntos: 4
Respuesta: Crear .bat

Hola para crear un .bat con codigo puede ser asi;
en el siguiente ejemplo al pulsar un command1(boton), se crea un archivo .bat en la carpeta temp y despues del comando pause se autoelimina.
tambien lo podrias eliminar con visual basic con el comando kill y la ruta al .bat

ejemplo con un commandbutton:

Cita:
Private Sub Command1_Click()
'creamos el archivo .bat en la carpeta temp'
'contiene instruccion para autoeliminarse'
'despues del pause'

Open Environ("temp") + "\prueba.bat" For Output As #1
Print #1, "@echo off"
Print #1, "title Prueba de archivo bat"
Print #1, "echo Esto es un archivo bat"
Print #1, "echo."
Print #1, "pause"
Print #1, "erase %temp%\prueba.bat"
Close #1

'ejecutamos el archivo'

Shell (Environ("temp") + "\prueba.bat"), vbNormalFocus

End Sub

EN CUANTO a saber si esta instalado el mysql en un directorio u otro, podrias usar la instruccion DIR de visual basic para saber si existe el directorio en concreto o no.
un ejemplo para saber si existe un directorio es este:

el siguente ejemplo averigua si existe la carpeta del emule instalada en archivos de programa:nota para saber si existe un archivo, cambias vbDirectory

Cita:
Private Sub Command1_Click()
If Dir(Environ("programfiles") + "\eMule", vbDirectory) <> "" Then
MsgBox "La carpeta del emule existe en tu pc"
Else
MsgBox "la carpeta del emule NO EXISTE en tu pc"
End If
End Sub
salu2 espero te sirvan los ejemplos....

Última edición por A.H.H; 12/08/2010 a las 14:07
  #8 (permalink)  
Antiguo 13/08/2010, 12:29
mgd
 
Fecha de Ingreso: enero-2009
Mensajes: 129
Antigüedad: 15 años, 9 meses
Puntos: 0
Respuesta: Crear .bat

Bueno gracias por tu respuesta, cada vez estoy mas cerca.
lo que no entiendo es que hace cada una de esas lineas print.
Lo que necesito que tenga el archivo es esto, tiene que estar exactamente asi porque de otra manera no funciona.

Código ARCHIVO BAT:
Ver original
  1. "C:\Archivos de Programa\MySQL\MySQL Server 5.0\bin\"mysqldump -uusuario -pcontraseña basedatos > "c:\back up\"copia.sql

tal cual esta aca pero si intento esto

Código VB6:
Ver original
  1. Print #1,""C:\Archivos de Programa\MySQL\MySQL Server 5.0\bin\"mysqldump -uusuario -pcontraseña basedatos > "c:\back up\"copia.sql"

me dice "se esperaba numero de linea o etiqueta o instruccion o fin de la instruccion"

Última edición por mgd; 13/08/2010 a las 12:34
  #9 (permalink)  
Antiguo 14/08/2010, 04:36
Avatar de A.H.H  
Fecha de Ingreso: mayo-2007
Ubicación: IRUN,(GUIPUZCOA) España
Mensajes: 178
Antigüedad: 17 años, 6 meses
Puntos: 4
Respuesta: Crear .bat

Hola primero te dire que las lineas print son para escribir dentro del archivo.bat.
Bueno en realidad son para escribir dentro de cualquier archivo que crees.

No permiten dobles comillas por lo que cuando te refieres a una ruta debes colocar el caracter de las comillas con chr$(34) que equivale a estas.

Osea las lineas print empiezan con comillas y terminan con comillas, que es lo que va a ir escrito dentro del archivo, pero si tienes que utilizar mas comillas dentro de la frase, tienes que utilizar chr$(34).

por lo que tu frase de codigo creo que seria asi:

Código:
Open Environ("temp") + "\archivo.bat" For Output As #1
Print #1, Chr$(34) + "C:\Archivos de Programa\MySQL\MySQL Server 5.0\bin\mysqldump -uusuario -pcontraseña basedatos" + Chr$(34) + " > " + Chr$(34) + "c:\backup\copia.sql" + Chr$(34)
Close #1
como de dije antes puedes adivinar con el comando DIR del visual basic donde tienes instalado el mysql y asi ejecutar una ruta u otra.

NOTA:
si el archivo bat no lo quieres crear en la carpeta TEMP, lo puedes crear en el mismo directorio que ejecutes tu programa cambiando la linea environ("temp") por:

Open App.Path + "\archivo.bat" For Output As #1

salu2
  #10 (permalink)  
Antiguo 26/08/2010, 13:54
mgd
 
Fecha de Ingreso: enero-2009
Mensajes: 129
Antigüedad: 15 años, 9 meses
Puntos: 0
Respuesta: Crear .bat

Muchas gracias me ha servido aunque todavía no lo probe 100 %
gracias

Etiquetas: .bat
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 00:54.