none
EXTRAER una cadena de texto en fichero txt y reemplazar por una personalizada. RRS feed

  • Pregunta

  • Buenas, necesito cambiar en cerca de 1.000 ficheros una cadena de texto por otra personalizada, conozco la ruta donde esta el fichero, y los parametros, habria alguna forma de crear un vbs que pudiese ejecutarlo por cliente automaticamente o desde el incio al hacer logon?

    Seria lo siguiente:

    1- necesito extraer de un fichero VF.txt ubicado en C:\Programs\CA\ una cadena que empieza por \\server............ la longitud final varia (siempre es el mismo fichero y misma ubicacion). Supongamos que este es el fichero:

    --------------------------------------
    Texto
    Impresora=\\server\print11
    User=xxx
    Machine=ALC2043

    --------------------------------------

    Cadenaimpresora=\\server\print11

    2- leer los ultimos 7 caracteres de esa cadena (siempre seran 7)

    Impresoraleida=print11


    3 - reemplazar cadena "1" en el fichero por "2" + "on virtualXS(ON DIRECT)" Quedando el fichero de la siguiente forma:

    --------------------------------------
    Texto
    Impresora=print11 on virtualXS(ON DIRECT)
    SQL= basedatossql
    User=xxx
    Machine=ALC2043
    --------------------------------------

    MUCHAS GRACIAS!!!!

     

    • Editado javisecre sábado, 11 de febrero de 2012 19:46
    viernes, 10 de febrero de 2012 22:18

Respuestas

  • hola

    los archivos que debes lleer son muy grandes ?

    porque sino podrias hacer

    Dim texto As String = File.ReadAllText("C:\Programs\CA\VF.txt")

    texto = texto.Replace("Impresora=\\server\print11", "Impresora=print11 on virtualXS(ON DIRECT)")

    File.WriteAllText("C:\Programs\CA\VF.txt", texto)

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina

    viernes, 10 de febrero de 2012 23:38

Todas las respuestas

  • hola

    los archivos que debes lleer son muy grandes ?

    porque sino podrias hacer

    Dim texto As String = File.ReadAllText("C:\Programs\CA\VF.txt")

    texto = texto.Replace("Impresora=\\server\print11", "Impresora=print11 on virtualXS(ON DIRECT)")

    File.WriteAllText("C:\Programs\CA\VF.txt", texto)

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina

    viernes, 10 de febrero de 2012 23:38
  • Buenas,

    Muchas gracias de antemano, los ficheros no son grandes.

    El principal problema que tengo es que cada fichero tiene asignada una impresora (print11, print34, etc)..... Por eso plantee la posibilidad de capturar el inicio de la cadena (\\server\...... hasta el final de la cadena, ya que esta sobre la misma linea)  extraer los ultimos 7 caracteres empezando por la derecha de esa cadena que sera el nombre de la impresora en todos los casos y reemplazar nuevamente la cadena por la peronalizada.

    Me explico?

    Como podria crear ese vbs?

    GRACIAS!

    sábado, 11 de febrero de 2012 13:02