Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Temas - bjeli1980

#1
Hola,

Me ha surgido un problema que tengo que solucionar y no he dudado en recurrir a este foro, ya que otras veces me habeis echado una mano.

Tengo 16000 archivos de texto en una carpeta en los que les tengo que modificar un solo dato en cada archivo. Los archivos son de esta forma:

LST;1;
costados\koa9\koa9gx70;ko-//-a9-gx7-0 ; ;1;1;0;2278.;325.;18.;0;0;0;0;0;0;0;0;;;;
costados\koa9\koa9gx70;ko-//-a9-gx7-0 ;M;1;1;0;2278.;325.;18.;0;0;0;0;0;0;0;0;;;;
wa;baldas fondo 2, 3, 5 y 6;;0;0;1;1162.;280.;18.;0;0;;;;;;;;;;
plb;puerta común batiente ;;0;0;1;2275.;297.;20.;0;1;2;192;0;0;0;0;0;0;;

En aquellas líneas que aparece la palabra "puerta" o "frente" necesito restarle 1 al valor que está entre el sexto y septimo punto y coma, en este caso 2275.

Por lo que esa línea quedaría así y el resto del archivo estaría igual:
plb;puerta común batiente ;;0;0;1;2274.;297.;20.;0;1;2;192;0;0;0;0;0;0;;

Gracias antes de nada.
#2
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

;)