abr
29
2013

Formatear texto de un fichero con un Script Batch

Con este Script en lenguaje Batch recuperamos los datos que se encuentran en el fichero archivo.sql (son INSERTS en la base de datos), y lo separamos en dos partes, cada parte en una línea diferente. Usamos el delimitador que se encuentra en el insert “;” para saltar de linea y escribir el texto restante en la siguiente linea. Al final de la lectura de todo el archivo.sql añadimos un “commit;”, que necesitabamos para completar los inserts.

El script creará el fichero formateado.sql que tendrá el formato que necesitamos para realizar nuestros inserts

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
 
@echo off
::Elimina el archivo formateado.sql en caso de que exista
del formateado.sql.txt
CLS
set /a contador=0
set /a porcentaje=0
set /a total=0
 
::Primera cabecera
ECHO Preparando archivo...
 
::Recorre el fichero SQL llamando a countSQL para cada linea ignorando la cabecera del archivo
for /f "skip=1 tokens=1-2 delims=;" %%a in (archivo.sql) do call :countSQL "%%a" "%%b"
 
::Recorre el fichero SQL llamando a Formatear para cada linea ignorando la cabecera
for /f "skip=1 tokens=1-2 delims=;" %%a in (archivo.sql) do call :Formatear "%%a" "%%b"
::Saltamos al final 'Done' e incluimos el commit que necesitamos
GOTO Done
 
::Funcion que maqueta y guarda el insert
:Formatear
call:incrContador
ECHO %~1)>>formateado.sql
echo ;>>formateado.sql
set /a porcentaje=(%contador%*100)/%total%
cls
ECHO Creando... %porcentaje%%%
GOTO EOF
 
::Funcion que incrementa
:incrContador
set /a contador+=1
GOTO EOF
 
::Funcion que cuenta para %
:countSQL
set /a total=%total%+1
GOTO EOF
 
::Al terminar añade un commit
:Done
ECHO commit>>formateado.sql
Echo ;>>formateado.sql
PAUSE
:EOF

Adaptado de la Wikicode

Han llegado aquí buscando:
Ningún usuario a búscado algo parecido en nuestra website

Acerca del Autor:

2 Comments + Add Comment

  • estimado tienes batcheros para validar reglas de tipo numéricos, fecha y letras, asi como retirar caracteres especiales

    • Pongo los que voy utilizando, si te animas y tienes alguno, enviamelo y lo publicamos.

      Un saludo,

Leave a comment


seis − = 3

Ayudas!

Recientes

  • Ber: Si es así, que ya he visto varios así, tienes que hacer un downgrade de versión o subir el theme más actual, en...
  • Ber: Hola Javier, El error que tienes en referencia al profile, el segundo error, suele producirse porque tienes un...
  • javier: Hola buenas. Me pasa ese mismo problema, el botón añadir producto no va, no hace nada. He revisado todo lo...
  • Ber: Hola Xavi, Tienes que poner como prefijo, el prefijo que pusiste al crear la tienda, (no es obligatorio poner un...
  • Ber: Genial, me alegro que te guste.:)
Google+