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

 

 


Tema destacado: Sigue las noticias más importantes de seguridad informática en el ttwitter! de elhacker.NET


+  Foro de elhacker.net
|-+  Programación
| |-+  Scripting
| | |-+  VBScript leer un trozo de linea de texto de un fichero SOLUCIONADO
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: VBScript leer un trozo de linea de texto de un fichero SOLUCIONADO  (Leído 12,172 veces)
tonilogar

Desconectado Desconectado

Mensajes: 55


Ver Perfil
VBScript leer un trozo de linea de texto de un fichero SOLUCIONADO
« en: 24 Octubre 2009, 01:11 am »

En este script doy la dirección de una carpeta y lo que necesito es la direccion de la carpeta anterior a la ultima.
Mexplico: doy la dirección:
L:\programacion\FICHEROS-FERFULL\ortofoto
y quiero la dirección:
L:\programacion\FICHEROS-FERFULL
como no se como hacerlo pues he creado un txt con la dirección y despues quiero leer la linea de derecha directorioFerFull=right(linea,9)="\ortofoto"

Pero mi sorpresa es que utilizando un msgbox.
 msgbox (directorioFerFull)
el msgbox me devuelve true....y no:
 L:\programacion\FICHEROS-FERFULL
que es lo que yo esperaba.
Pues eso hay alguna forma de hacerlo mas facil y si no es el caso porque no me lee la linea de texto y me devuelve true.



Aqui dejo el trozo del script.
Un saludo a todos

Código:
Set fso = CreateObject("Scripting.FileSystemObject")
Set ws = CreateObject("WScript.Shell")
Set objShell = CreateObject("Shell.Application")
Set objFolder = objShell.BrowseForFolder(0, "SELECCIONEU EL DIRECTORI ORTOFOTO:", 0, 0)
If objFolder Is Nothing Then
MsgBox("L'aplicacio s'ha cancelat")
 Wscript.Quit
     End If
     ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'CREAR UN ARCHIVO TXT CON LA RUTA DE LAS ORTOFOTOS
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Set var = fso.CreateTextFile(objFolder.self.path & "\variableobjFolder.self.path.txt", True)
var.writeline(objFolder.self.path)
var.close
     ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'LEER LA RUTA DE ORTOFOTO PARA CONSEGUIR LA DIRECCION DE LOS FICHERO 'FERFULL
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Set var = fso.OpenTextFile(objFolder.self.path & "\variableobjFolder.self.path.txt", 1)
linea=var.Readline
directorioFerFull=right(linea,9)="\ortofoto"
msgbox (directorioFerFull)


« Última modificación: 27 Octubre 2009, 00:35 am por tonilogar » En línea

No porque discrepe de tu opinión intento ofenderte.

Un saludo a todos y gracias por vuestro tiempo.
Van Hohenheim

Desconectado Desconectado

Mensajes: 16


Ver Perfil
Re: leer un trozo de linea de texto de un fichero
« Respuesta #1 en: 24 Octubre 2009, 08:00 am »

lo que pasa es que al hacer esto :

Código:
directorioFerFull=right(linea,9)="\ortofoto"

estas comparando:

 right(linea,9) con "\ortofoto"

que en este caso son lo mismo porque la función right toma la cantidad de caracteres desde la derecha, del texto que le envías como parámetro, es por esto que el valor true se guarda en la variable directorioFerFull.

Algo que puedes hacer es usar la función InstrRev que te devuelve la posición de una cadena dentro de otra, pero comenzando desde el final, un ejemplo usando tu caso:

Código:
ruta="L:\programacion\FICHEROS-FERFULL\ortofoto"
pos=instrrev(ruta,"\")
nruta=left(ruta,pos-1)
msgbox(nruta)

lo puse detallado para que se entienda :D, ruta guarda la ruta, pos guarda la posición de la primera aparición de "\", pero buscando desde el final de la cadena, nruta guarda el valor que le devuelve la función left, que toma la cantidad de caracteres,desde la izquierda, que le envías como parámetro (en este caso pos -1, es decir 14) de la cadena que también se le envía como parámetro (en este caso la ruta).

esto funciona para cualquier ruta que le envies, a menos que le envies una ruta como esta:

"L:\programacion\FICHEROS-FERFULL\ortofoto\", como tiene un "\" al final te devolverá "L:\programacion\FICHEROS-FERFULL\ortofoto", que al final sería lo mismo, para eso primero deberías poner una condición, pero creo que ya le estoy dando muchas vueltas al asunto, espero que me hayas entendido  :xD



« Última modificación: 24 Octubre 2009, 08:05 am por Van Hohenheim » En línea

tonilogar

Desconectado Desconectado

Mensajes: 55


Ver Perfil
Re: leer un trozo de linea de texto de un fichero
« Respuesta #2 en: 24 Octubre 2009, 14:25 pm »

Gracias por tu tiempo y ayuda Van Hohenhein, al final siguiendo tu codigo lo he dejado asi.

Set ar = fso.OpenTextFile(objFolder.self.path & "\variableobjFolder.self.path.txt", 1)
linea=ar.Readline
pos=instrrev(linea,"\")
nlinea=left(linea,pos-1)

Un saludo
En línea

No porque discrepe de tu opinión intento ofenderte.

Un saludo a todos y gracias por vuestro tiempo.
Novlucker
Ninja y
Colaborador
***
Desconectado Desconectado

Mensajes: 10.683

Yo que tu lo pienso dos veces


Ver Perfil
Re: leer un trozo de linea de texto de un fichero
« Respuesta #3 en: 24 Octubre 2009, 20:25 pm »

Y aquí lo que te ahorrará muchas líneas  ::)

Código
  1. msgbox objfolder.parentfolder.self.path

parentfolder se utiliza justo para lo que buscas, mostrar la carpeta dentro de la cual esta una carpeta o archivo

Saludos
En línea

Contribuye con la limpieza del foro, reporta los "casos perdidos" a un MOD XD
"Hay dos cosas infinitas: el Universo y la estupidez  humana. Y de la primera no estoy muy seguro."
Albert Einstein
tonilogar

Desconectado Desconectado

Mensajes: 55


Ver Perfil
Re: leer un trozo de linea de texto de un fichero
« Respuesta #4 en: 24 Octubre 2009, 21:23 pm »

Gracias Novlucker como tu dices me ahorrara muchas lineas.
Podrias echarle un vistazo a este hilo.

http://foro.elhacker.net/scripting/no_puedo_borrar_2_ficheros_intermedios-t271827.0.html

Gracias por tu ayuda si no fueras por ti no acabaria ni un script
En línea

No porque discrepe de tu opinión intento ofenderte.

Un saludo a todos y gracias por vuestro tiempo.
duckseven

Desconectado Desconectado

Mensajes: 3


Ver Perfil
Re: VBScript leer un trozo de linea de texto de un fichero SOLUCIONADO
« Respuesta #5 en: 13 Junio 2011, 16:54 pm »

Amigo yo tengo un pequeño problema, tengo un archivo de texto pero no se como puedo hacer para leer solo un pedaso de la linea de texto
Ejemplo
servername=SERVERS

Quiero que mi script solo lea el texto que esta despues de servername=
es decir quiero que me devuelva el texto SERVERS o el texto que este escrito en esa linea, agradezco de antemano tu ayuda eres un genio estuve leyendo algunos post pero no me queda claro, el script que estuve intentado ahcer no me funciono, te lo dejo aqui abajo gracias

*************************
Set objfso = createobject("scripting.filesystemobject")
Set archivotexto = objfso.opentextfile("servername.cdw",1)
archivotexto.skipline   
msgbox archivotexto.read(8)               
archivotexto.close
******************************
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Leer un texto especifico con VBSCRIPT
Scripting
duckseven 2 3,821 Último mensaje 12 Febrero 2013, 18:01 pm
por Eleкtro
Saltar de linea al leer de un fichero
Programación C/C++
hari 3 9,024 Último mensaje 14 Julio 2011, 11:53 am
por hari
[Ayuda] Leer linea de un fichero en Vb.Net
.NET (C#, VB.NET, ASP)
TMarmol 4 3,497 Último mensaje 19 Octubre 2013, 17:12 pm
por TMarmol
Insertar una nueva línea en un fichero de texto
Programación C/C++
matella 2 1,331 Último mensaje 15 Mayo 2015, 13:36 pm
por BlackM4ster
Leer una línea específica de un fichero. c++
Programación C/C++
kur79 1 2,075 Último mensaje 15 Noviembre 2015, 22:00 pm
por ivancea96
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines