elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Curso de javascript por TickTack


  Mostrar Mensajes
Páginas: [1]
1  Programación / Scripting / Re: Cambiar una o varias palabras dentro de un TXT en: 8 Agosto 2022, 22:57 pm
Uff, lo he intentado nuevamente, pero no he sido capaz.

Hace unos días intenté con un segundo archivo llamar al primero, con estas soluciones similares:

https://www.iteramos.com/pregunta/3152/como-se-puede-buscar-y-reemplazar-texto-en-un-archivo-utilizando-el-entorno-de-linea-de-comandos-de-windows

Y con:
https://social.msdn.microsoft.com/Forums/es-ES/cd3247b5-e4e7-4646-a3f8-1580617fe663/como-hago-un-scrip-vbs-para-cambiar-palabras-por-otra-de-un-archivo-de-texto?forum=vbes

Pero como no sé usar los argumentos ni armarlo para que funcione, me salen errores por todos lados, al menos en VBScript me cuesta un poco reaprender.

Igualmente, ponle un marcador muy grande a tu respuesta anterior, porque en ningún lado encontré algo similar que realmente me ayude con esto.

Muchas gracias por compartir tu tiempo y conocimientos, un saludo.
2  Programación / Scripting / Re: Cambiar una o varias palabras dentro de un TXT en: 8 Agosto 2022, 19:41 pm
Si señor, ahora sí.
Mil gracias MCKSys Argentina

¿Hay alguna forma de incluir varios cambios de palabras a la vez?

La única que encontré es:

Set FSO     = CreateObject("Scripting.FileSystemObject")
OldTextFile = ".\temp.txt"
NewTextFile = ".\1.txt"
Set regEx = New RegExp
regEx.IgnoreCase = True
regEx.Global = True
regEx.MultiLine = True
content = FSO.OpenTextFile(OldTextFile, 1).ReadAll()
 
regEx.Pattern = "\b(dos)\b"
ReplaceTo = "DOS"

content = regEx.Replace(content, ReplaceTo)

regEx.Pattern = "\b(personasl)\b"
ReplaceTo = "PERSONAS"

content = regEx.Replace(content, ReplaceTo)
FSO.CreateTextFile(NewTextFile, 2).Write(content)

Saludos.
3  Programación / Scripting / Re: Cambiar una o varias palabras dentro de un TXT en: 8 Agosto 2022, 17:40 pm
Muchas gracias, pero ya lo probé, en el ejm no funciona en la primera línea "vinieron los dos" Porque después de la última palabra, no hay espacio, es el final de la oración.

Al igual que, tampoco funcionaría en la cuarta línea del ejm. Porque empieza por "dos" sin espacio antes.....

El archivo de subtítulo SRT es de 3 horas de duración, por eso necesito hacerlo con un código, porque de forma manual es imposible.

No sé si se podrá indicar algún comodín o algo, para que, al encontrar un caracter cualquiera antes o después de "dos" no aplique la modificación. Al menos a mi, no se me ocurre otra forma.
4  Programación / Scripting / Cambiar una o varias palabras dentro de un TXT en: 8 Agosto 2022, 16:51 pm
Buenas tardes, he intentado, sin éxito, varias formas de hacer esto con algún script, pero no me ha dado resultado que buscaba.

El TXT realmente es un subtitulo SRT, solo necesito cambiar una palabra (o algunas) pongo un ejm: (subtitulo .SRT en archivo .TXT)

1
00:00:01,550 --> 00:00:04,420
vinieron los dos

2
00:00:04,710 --> 00:00:07,120
llegaron dos personas

3
00:00:07,120 --> 00:00:08,680
varios modos de llegar

4
00:00:08,680 --> 00:00:12,010
dos personas salieron

5
00:00:13,120 --> 00:00:14,680
calcularon doscientos

Quería (por ejm,) poner en mayúscula la palabra dos, o cambiarla por el digito 02, pero en este ejemplo no lo hace correctamente.

Incluso he probado en CMD Batch y en VBScript, y este último me ha dado algún resultado positivo, aunque cambia TODAS las palabras que contienen dos, incluyendo doscientos.....

Set FSO     = CreateObject("Scripting.FileSystemObject")
OldTextFile = ".\temp.txt"
NewTextFile = ".\1.txt"
ReplaceFrom = ("dos")
ReplaceTo   = ("DOS")
 
FSO.CreateTextFile(NewTextFile, 2). _
   Write(Replace(FSO.OpenTextFile(OldTextFile, 1).ReadAll(), _
              ReplaceFrom, ReplaceTo, 1, -1, vbTextCompare))


Algo que se me ocurre en este código, es que:
ReplaceTo   = ("DOS")
sea tal cual, pero añadir, que si hay algún carácter antes o después de esta palabra a modificar, que no lo haga, pero no encuentro la manera de hacerlo con comodines.

Aunque soy mas de CMD, puedo empezar a usar VBS si fuera necesario, pero mis conocimientos son muy limitados en VBS, me defiendo un poco más en comandos CMD, pero no me han dado buenos resultados por el código de tiempo del subtitulo (me cambia -->)

Muchas gracias por vuestra ayuda de antemano, saludos.
Páginas: [1]
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines