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


 


Tema destacado: Guía actualizada para evitar que un ransomware ataque tu empresa


+  Foro de elhacker.net
|-+  Programación
| |-+  Scripting
| | |-+  Leer txts de carpeta reemplazar puntos por comas
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Leer txts de carpeta reemplazar puntos por comas  (Leído 515 veces)
look2020

Desconectado Desconectado

Mensajes: 1


Ver Perfil
Leer txts de carpeta reemplazar puntos por comas
« en: 13 Octubre 2020, 03:49 »

Tengo una carpeta donde cada lapso de tiempo me aparecen 5 archivos .txt provenientes de un proceso externo ( ej.: MES_10102020.txt, TRIMESTRE_2020.txt, SEMESTRE.txt) todos tienen un prefijo mas la fecha. Debo abrirlos, reemplazar los puntos por comas. Lo ideal sería no tener q cargar librerias, quizas hacerlo con vbscript pero me esta costando encontrar info. Logre armar un bat con parametros que ejecuta el vbs y reemplaza los caracteres , pero tengo que cambiarle el nombre del archivo y la idea es que el 1er proceso lea la carpeta y aplique a todos los archivos txt de la misma.

Esto es lo que hice :

If WScript.Arguments.Count <> 3 then
    WScript.Quit
end If

Reemplazar WScript.Arguments.Item(0), WScript.Arguments.Item(1), WScript.Arguments.Item(2)
function Reemplazar(strFile, strFind, strReplace)
    Set objFSO = CreateObject("Scripting.FileSystemObject")
    Set objInputFile = objFSO.OpenTextFile(strFile,1)
    strTempDir = objFSO.GetSpecialFolder(2)
    Set objTempFile = objFSO.OpenTextFile(strTempDir & "\temp.txt",2,true)
    do until objInputFile.AtEndOfStream
     objTempFile.WriteLine(Replace(objInputFile.ReadLine, strFind, strReplace))
    loop
    objInputFile.Close
    Set objInputFile = Nothing
    objTempFile.Close
    Set objTempFile = Nothing
    objFSO.DeleteFile strFile, true
    objFSO.MoveFile strTempDir & "\temp.txt", strFile
    Set objFSO = Nothing
end function

A esto lo llamo con un bat :

reemplazar.vbs MES10102020.txt" "." ","

Pero necesito algo que lea todos los archivos , los procese y los guarde con la modificacion. El equipo es un virtual con xp.


En línea

EdePC
Colaborador
***
Conectado Conectado

Mensajes: 1.332



Ver Perfil
Re: Leer txts de carpeta reemplazar puntos por comas
« Respuesta #1 en: 13 Octubre 2020, 07:08 »

Código
  1. ' El siguiente Script reemplaza todos los "." por "," en
  2. ' todos los archivos con la extension ".txt" en la carpeta actual
  3.  
  4. Set fso = CreateObject("Scripting.FileSystemObject")
  5.  
  6. For Each f In fso.GetFolder(".").Files
  7.  If InStr(f, ".txt") Then
  8.    txt = fso.OpenTextFile(f).ReadAll
  9.    txt = Replace(txt, ".", ",")
  10.    fso.OpenTextFile(f, 2).Write txt
  11.  End If
  12. Next

Ya lo adaptas a tu estilo.

Windows Script 5.6 Documentation:
https://raw.githubusercontent.com/pmachapman/VBSE/master/Distribution/script56.chm


En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Leer carpeta de regedit « 1 2 »
Programación Visual Basic
dimitrix 10 2,453 Último mensaje 6 Enero 2007, 20:10
por luispirata
Reemplazar Comas por Puntos en visual basic « 1 2 »
Programación Visual Basic
oJosLoCos 14 27,638 Último mensaje 5 Diciembre 2009, 00:46
por oJosLoCos
javascript no permitir comas ni puntos
Programación General
OssoH 5 11,888 Último mensaje 29 Junio 2010, 11:09
por OssoH
Duda sobre la precisión en comas/puntos flotantes en .NET
.NET (C#, VB.NET, ASP)
z3nth10n 2 1,204 Último mensaje 22 Enero 2015, 15:12
por z3nth10n
Validacion de comas y puntos VB6
Programación Visual Basic
RiasChan 2 1,119 Último mensaje 12 Marzo 2018, 18:51
por RiasChan
Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines