elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.
 
Inicio Ayuda Buscar Ingresar Registrarse
29 Mayo 2012, 06:55  


Tema destacado: ¿Eres nuevo? ¿Tienes dudas acerca del funcionamiento de la comunidad? Lee las Reglas Generales

+  Foro de elhacker.net
|-+  Programación
| |-+  Scripting (Moderadores: Novlucker, Leo Gutiérrez., EleKtro H@cker)
| | |-+  [Batch] Crear varios txt a partir de otro txt [Solucionado]
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: [Batch] Crear varios txt a partir de otro txt [Solucionado]  (Leído 3,163 veces)
bjeli1980

Desconectado Desconectado

Mensajes: 8


Ver Perfil
[Batch] Crear varios txt a partir de otro txt [Solucionado]
« en: 13 Abril 2010, 17:34 »

Hola,

A ver si alguien me puede echar una mano que estoy bastante atascado.

Quiero generar varios txt a partir de un txt. El fichero origen es asi:

La primera línea es el nombre del fichero, y tiene que generar un fichero hasta que encuentra la línea FIN MATERIAL.


1-1958.ad
Melamina Blanca1801958BK1X11-BK                     22/03/2010
1901958BK1X2001120004000000060Costado Armario 1100006
1901958BK1X2000752004485000010Puerta Armario 80500001
1901958BK1X2001482004485000100Puerta Armario A1 00010
1901958BK1X2000391505240000950Tapa-Fondo A1 basi00095
1801958BK1X4003660020500999990Melamina Blanca 3699999
FIN MATERIAL
1-1959.ad
Melamima Blanca1001959BK1X11-BK                     22/03/2010
1001959BK1X2000865003790000010Division Horizonta00001
1001959BK1X2001455008750000200Trasera 1535 A1 ba00020
1001959BK1X2001810008750000250Trasera 1900 A1 BA00025
1001959BK1X2000715008750000200Trasera 805 A1 BAS00020
1001959BK1X4003660020500999990Melamima Blanca 3699999
FIN MATERIAL
1-24507.ad
Blanco Super So25024507BK111-BK                     22/03/2010
25024507BK12000864003590000040Balda A1 basica00004
25024507BK14002550021000999990Blanco Super Soft 99999
FIN MATERIAL


Yo he hecho este script pero me da un error de "No se esperaba ( en este momento.".

::CrearFichero por Materiales partiendo de "listacorteoptimizador.txt"

@echo off
:Main
set sFin=FIN MATERIAL
set fListadoCorte=listacorteoptimizador.txt

setlocal enabledelayedexpansion
set bNombreFichero = 0

For /f "useback tokens=*" %%F in ("%fListadoCorte%") do (
   
   If "%%F" == "%sFin%" (
    set bNombreFichero = 0
   ) Else (
   If %bNombreFichero% == 0 (
         set fMaterial = %%F
         set bNombreFichero = 1
      ) Else (
      echo %%F >> %fMaterial%
   )
)

A ver si alguien me puede echar una mano. Gracias

;)


« Última modificación: 14 Abril 2010, 23:18 por Leo Gutiérrez. » En línea
Leo Gutiérrez.
. . .. ... ..... ........ ............. .....................
Moderador
***
Desconectado Desconectado

Mensajes: 2.968


/^$/


Ver Perfil WWW
Re: [Batch] Crear varios txt a partir de otro txt
« Respuesta #1 en: 13 Abril 2010, 19:30 »

En la tarde lo resuelvo, estoy en la escuela.  :-\


En línea

Código
(( 1 / 0 )) &> /dev/null || {
echo -e "stderrrrrrrrrrrrrrrrrrr";
}
 

leorocko13@hotmail.com
https://github.com/leogtzr/
xassiz_

Desconectado Desconectado

Mensajes: 273


Ich werde dich töten..


Ver Perfil WWW
Re: [Batch] Crear varios txt a partir de otro txt
« Respuesta #2 en: 13 Abril 2010, 19:59 »

Código
@echo off
setlocal enabledelayedexpansion
 
for /f "tokens=*" %%x in (listacorteoptimizaror.txt) do (
set "line=%%x"
if "!line:~-3!"==".ad" (set "fichero=!line!")
if not "!line!"=="FIN MATERIAL" (
if not "!line:~-3!"==".ad" (echo:!line!>>!fichero!)
)
)
 
pause
exit
 

Saludos ;)
En línea



YXVuIGVyZXMgbWF0YWRvIHBhcmEgcG9uZXJ0ZSBhIGRlc2NpZnJhciBlc3RvIHhE
bjeli1980

Desconectado Desconectado

Mensajes: 8


Ver Perfil
Re: [Batch] Crear varios txt a partir de otro txt
« Respuesta #3 en: 14 Abril 2010, 09:35 »

Muchas gracias xassiz, me ha funcionando perfectamente.

¿para que sirve "!line:~-3!"==".ad"?

¿xq pones !line!>>!fichero! entre admiraciones?

En línea
xassiz_

Desconectado Desconectado

Mensajes: 273


Ich werde dich töten..


Ver Perfil WWW
Re: [Batch] Crear varios txt a partir de otro txt
« Respuesta #4 en: 14 Abril 2010, 15:24 »

Lo primero se llama extracción de carácteres y lo segundo polimetría. Hay mucha info sobre estas cosillas te explico lo primero así por encima, la polimetria es muy extensa:

Código:
set variable=holanomostrarmundo
echo %variable:~0,4% %variable:~13,5%
Creo que el ejemplo lo explica todo, ahora con valores negativos:

Código:
set variable=holanomostrarmundo
echo %variable:~0,4% %variable:~-5%

Al igual que:
Código:
set archivo=algo.txt
echo Extension: %archivo:~-4%
o
Código:
set archivo=algo.ad
echo Extension: %archivo~-3%

[Tutorial] Polimetria by Smartgenius


Saludos ;)
« Última modificación: 14 Abril 2010, 15:26 por xassiz » En línea



YXVuIGVyZXMgbWF0YWRvIHBhcmEgcG9uZXJ0ZSBhIGRlc2NpZnJhciBlc3RvIHhE
bjeli1980

Desconectado Desconectado

Mensajes: 8


Ver Perfil
Re: [Batch] Crear varios txt a partir de otro txt
« Respuesta #5 en: 14 Abril 2010, 16:09 »

Muchas gracias!!!

Me queda mucho por aprender. :-(

En línea
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
partir archivo de audio en varios pedacitos
Java
lexoazul 3 1,208 Último mensaje 18 Diciembre 2010, 05:47
por lexoazul
Crear otro subforo
Sugerencias y dudas sobre el Foro
ChicoMaravilla 1 857 Último mensaje 20 Diciembre 2010, 05:33
por Littlehorse
Crear archivos desde batch [Solucionado]
Scripting
romanjr 4 1,038 Último mensaje 17 Febrero 2011, 01:57
por romanjr
[SOLUCIONADO][Batch | VBS]Ejecutar programa al cerrar otro.
Scripting
RyogiShiki 4 2,245 Último mensaje 8 Abril 2011, 14:33
por RyogiShiki
Duda generando exe a partir de otro soft
Programación General
Putero69 3 921 Último mensaje 28 Septiembre 2011, 04:54
por Putero69
Powered by SMF 1.1.16 | SMF © 2006-2008, Simple Machines