Vbs para buscar archivo y reemplazar texto dentro de el.
Scripts 21 febrero 2011
Bueno, por aqui os dejo un script sencillito que sirve para buscar un archivo a partir de un directorio dado.
Una vez encontrado o encontrados (si existe mas de uno con el mismo nombre también lo localiza). Una vez encontrado sustituye texto dentro de el.
Este script ha sido usado para migrar a los usuarios de un servidor con Oracle 9i a otro con Oracle 11g, por eso el fichero que se busca es el tnsnames.ora.
[vb]
strDir = “c:\oracle\”
Const ForReading = 1
Const ForWriting = 2
Set FSO = CreateObject(“Scripting.FileSystemObject”)
Set objDir = FSO.GetFolder(strDir)
getInfo(objDir)
Sub getInfo(pCurrentDir)
For Each aItem In pCurrentDir.Files
If LCase(Right(Cstr(aItem.Name), 12)) = “tnsnames.ora” Then
‘wscript.echo pCurrentDir
wscript.Echo pCurrentDir &”\”& aItem.Name ‘todos los archivos tnsnames.ora
‘Capturo todo el texto del fichero
set objFile =FSO.OpenTextFile(pCurrentDir & “\” & aItem.Name, ForReading)
strText=objFile.ReadAll
objFile.Close
‘reemplazo el texto en la variable
strNewText = Replace(strText, “172.31.0.43″,”172.31.0.13″)
‘escribo de nuevo el fichero con el texto cambiado
Set objFile=FSO.OpenTextFile(pCurrentDir &”\”& aItem.Name, ForWriting)
objFile.WriteLine strNewText
objFile.Close
End If
Next
For Each aItem In pCurrentDir.SubFolders
getInfo(aItem) ‘recursivo
Next
End Sub
[/vb]
Ale, si alguien busca algo parecido ya lo tiene escrito. Dejar un comentario si os apetece.
Vota este artículo:
Posts anterior y posterior:
- Previo: « Eliminar archivos en subdirectorios recursivamente con Ubuntu
- Siguiente: Borra todas la carpetas compartidas con un script vbs »


julio 3rd, 2012 a las 5:19 am
Hola David, gracias por el ejemplo, bueno mi consulta es la siguiente:
Como verifico si existe un determinado archivo en varias carpetas, es decir:
C:\carpeta_principal
c:\carpeta_principal\subcarpeta1
c:\carpeta_principal\subcarpeta1\subcarpeta1.1
c:\carpeta_principal\subcarpeta1\subcarpeta1.2
c:\carpeta_principal\subcarpeta2
c:\carpeta_principal\subcarpeta1\subcarpeta2.1
c:\carpeta_principal\subcarpeta1\subcarpeta2.2
Lo que deseo es que busque el archivo en todas las carpetas, el archivo puede estar en la subcarpeta1.1 o en la subcarpeta2.
Agradeceria mucho que me pudieras apoyar
agosto 28th, 2012 a las 7:30 pm
Gracias! Me fue de mucha utilidad ya que era exactamente lo que necesitaba hacer!