Leer Archivo en vbScript

Iniciado por injekt2017, 24 Noviembre 2017, 21:37 PM

0 Miembros y 1 Visitante están viendo este tema.

injekt2017

Hola buenas,

Es mi primera publicación. Voy muy perdido en programación con BASH y soy un estudiante. La verdad es que estoy poco decepcionado con la profesora, porque no nos explica nada. y por tu cuenta, te bloqueas y no eres capaz de hacer los ejercicios. y la cagas en el dia de examen.

Ya llevo un examen suspendido, y el otro esta por caer.


El motivo de este post, es no soy capaz de hacer el siguiente ejercicio. Si alguien me podria hechar una mano, le agradeceria.

Pasado un archivo rutas.txt :

c:\fitxer.jpg
c:\fitxer2.jpg
c:\fitxer.doc
c:\alumnes\pere\fotos\andorra.jpg
c:\alumnes\pere\fotos\andorra.gif
c:\alumnes\pere\fotos\resum.pdf
c:\alumnes\pere\fotos\resum-pdf.doc
c:\alumnes\anna\script2.vbs
c:\alumnes\anna\exercici.doc


Por via de argumentos con vbscript. Tengo que controlar la extension y si en argumentos por ejemplo le pongo que la extension es jpg, si lo encuentra.... que me guarde esa linea de archivo en un archivo : haEncontrado.txt

y si no encuentra me ponga todas las rutas en el noHaencotrado.txt.


Un saludo.


Eleкtro

#1
En el foro no se hacen tareas, muestra lo que hayas intentado hacer por ti solo.

De todas formas aquí tienes toda la información necesaria (con ejemplos de código incluido) para llevar a cabo el ejercicio:

‣ Análisis (parsing) de argumentos:

‣ Evaluación de extensión de archivo:

‣ Lectura de contenido linea a linea en archivo de texto plano:

‣ Escritura de datos en archivo local:

Saludos








injekt2017

Yo entiendo que no podeis hacer ejercicios obviamente.

Mi codigo hecho hasta el momento es este :

Option Explicit

Dim argsUnnamed,valor,i, salida,entrada,punto,extension
Set salida = wscript.stdout
Set entrada = wscript.stdin
Set argsUnnamed = Wscript.Arguments.Unnamed

Do While Not entrada.AtEndOfStream
valor = entrada.ReadLine

punto = Instr(valor,".")
'salida.writeline " punto encontrado en posicion : " & punto

extension = Mid(valor,punto+1,3)
'salida.writeline " extension encontrado en : " & extension
salida.writeline "" & extension

'if argsUnnamed = extension then
'wscript.writeline " Coinciden "
'end if
'salida.WriteLine(valor.GetExtensionName("rutas.txt"))
Loop

wscript.quit


Que coge la extension del archivo :
c:\fitxer.jpg
c:\fitxer2.jpg
c:\fitxer.doc
c:\alumnes\pere\fotos\andorra.jpg
c:\alumnes\pere\fotos\andorra.gif
c:\alumnes\pere\fotos\resum.pdf
c:\alumnes\pere\fotos\resum-pdf.doc
c:\alumnes\anna\script2.vbs
c:\alumnes\anna\exercici.doc


pero, ahora no se como puedo hacer que pasados argumentos sin nombre y el archivo que pase los buscados en : HaEncontrado.txt

y los que no encuentra en : NoEncontrados.txt


Saludos.

John1Connor

#3
WScript.Arguments para archivos .vbs y si usas un hta: elhta.CommandLine.
creo que wscript.arguments te da solo los argumentos, no se si separados, en un array o que pero tengo recuerdos de esto: ".arguments(1)" asique calculo que ya te los separa en un array.
Y en hta te da el nombre de la ventana con todos los argumentos ahi vas a tener que usar esplit o regexp para separar los arguments.

Saludos



Ah perdon ya lo sabias, no entiendo tu duda, pareciera que ya tenes todo.