Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - tonilogar

#41
El script lo he modificado con tu ayuda (objfolder.parentfolder.self.path)
Y perdona... parece una cosa muy trivial pero no he logrado encontrar la razón por internet.


Código (vb) [Seleccionar]
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 ARCHIU TXT PER DESPRES EDITARLO Y APUNTAR LES ORTOS QUE FALTEN PER GENERAR.
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Set ar = fso.CreateTextFile(objFolder.self.path & "\ortofotos-que-faltan.txt", True)
ar.writeline(objFolder.self.path)
ar.close
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'CREAR UN ARCHIU TXT AMB TOTES LES ORTOFOTOS DEL BLOC A PARTIR DELS FITXERS FERFULL
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Set car = fso.GetFolder(objfolder.parentfolder.self.path)
Set listadoORTOFOTOS= fso.CreateTextFile(objFolder.self.path & "\llistat-ortofotos.txt", True)
For Each archivo in car.Files
If right(archivo.name,12)="_FerFull.bat" then
listadoORTOFOTOS.writeline (archivo.name)
End If
Next
listadoORTOFOTOS.close
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'COMPARAR EL FITXER llistat-ortofotos.txt AMB LES ORTOS QUE ES TROBEN AL DIRECTORI ORTOFOTO
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Set var = fso.OpenTextFile(objFolder.self.path & "\llistat-ortofotos.txt", 1)
Do
linea=var.Readline
nombreArchivo=mid(linea,1,7)
FileExists=fso.FileExists (objFolder.self.path& "\" &nombreArchivo& "_S.rf")
if FileExists=FALSE Then
Set arc = fso.GetFile (objFolder.self.path & "\ortofotos-que-faltan.txt")
Set arc = arc.OpenAsTextStream(8)
arc.Writeline nombreArchivo & "_S.rf"
End if
loop until var.AtEndOfStream=True
arc.close
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'OBRE EL FITXER ortofotos-que-faltan.txt
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
msgbox ("Aquestes son les ortofotos que no es tronben al directori indicat")
ws.Run (objFolder.self.path & "\ortofotos-que-faltan.txt")
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'BORRA ELS FITXERS INTERMITJOS
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
fso.DeleteFile objFolder.self.path & "\llistat-ortofotos.txt", True



El script me funciona correctamente.
Pero cuando llega al final y tiene que borrar un ficheros txt peta:

permission denied
800A0046

cuando me refería a esto:
Después con el mismo código pero en un script diferente me los borra sin problemas.
Quería decir que con este script me lo borra.


Set fso = CreateObject("Scripting.FileSystemObject")
fso.DeleteFile objFolder.self.path & "\llistat-ortofotos.txt", True

Nota del mod: recuerda las etiquetas
#42
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
#43
Pues este script me funciona correctamente, hasta que al final quiero borrar ficheros txt creados por el scrip y que al final no me sirven.
Pero me da un error y me dice que:
permission denied
800A0046
Porque no tengo permiso para borrarlo cuando los he creado los he cerrado.

Despues con el mismo codigo pero en un script diferente me los borra sin problemas.


Código (vb) [Seleccionar]
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 en donde se encuentran las ortofotos
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Set var = fso.CreateTextFile(objFolder.self.path & "\variableobjFolder.self.path.txt", True)
var.writeline(objFolder.self.path)
var.close
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'crear un txt para despues editarlo
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Set ar = fso.CreateTextFile(objFolder.self.path & "\ortofotos-que-faltan.txt", True)
ar.writeline(objFolder.self.path)
ar.close
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'leer la ruta donde se encuentran las ortofotos
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Set ar = fso.OpenTextFile(objFolder.self.path & "\variableobjFolder.self.path.txt", 1)
linea=ar.Readline
pos=instrrev(linea,"\")
nlinea=left(linea,pos-1)
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'crear u txt con todas las ortos del bloque a partir de los ficheros *ferfull
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Set car = fso.GetFolder(nlinea)
Set listadoORTOFOTOS= fso.CreateTextFile(objFolder.self.path & "\llistat-ortofotos.txt", True)
For Each archivo in car.Files
If right(archivo.name,12)="_FerFull.bat" then
listadoORTOFOTOS.writeline (archivo.name)
End If
Next
listadoORTOFOTOS.close
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'comparar el fichero llistat-ortofotos con las ortos que hay en el directorio ortofoto
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Set var = fso.OpenTextFile(objFolder.self.path & "\llistat-ortofotos.txt", 1)
Do
linea=var.Readline
nombreArchivo=mid(linea,1,7)
FileExists=fso.FileExists (objFolder.self.path& "\" &nombreArchivo& "_S.rf")
if FileExists=FALSE Then
Set arc = fso.GetFile (objFolder.self.path & "\ortofotos-que-faltan.txt")
Set arc = arc.OpenAsTextStream(8)
arc.Writeline nombreArchivo & "_S.rf"
End if
loop until var.AtEndOfStream=True
arc.close
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'abrir el fichero ortofotos-que-faltan.txt
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
msgbox ("Aquestes son les ortofotos que no es tronben al directori indicat")
ws.Run (objFolder.self.path & "\ortofotos-que-faltan.txt")
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'borara los ficheros intermedios
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
fso.DeleteFile objFolder.self.path & "\llistat-ortofotos.txt", True
fso.DeleteFile objFolder.self.path & "\variableobjFolder.self.path.txt", True



Nota del mod: recuerda las etiquetas
#44
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
#45
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


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)

#46
Gracias Novlucker, es precisamente lo que andaba buscando.
#47
Gracias por tu respuesta Novluckerr.
Por lo que veo en el código que me has escrito.
Son las características del objeto objIE.


Por cierto... mira que es fea la ventana  objIE.
Lo he probado y funciona.
Un saludo y gracias por tutiempo.
#48
Por ejemplo, en vez de decirle al msg.popup el tiempo que tiene que estar visible,hay alguna forma de decirle que este visible, de una accion a otra.

copiar ficheros
msg.popup "Copiando ficheros",
aplicar accion a ficheros

Un saludo y gracias por vuestro tiempo
#49
Pues tengo unos cuantos vbScript en los que utilizo el inputbox, para entrar las direcciones necesarias para el script.
Y hoy mismo he leído sobre el CommonDialog.

Por lo que he leído y probado esta herramienta solo se puede utilizar para seleccionar ficheros. ¿hay alguna forma de utilizarlo para seleccionar directorios?.
En el manual que he leído hablaban sobre el parámetro flags.Ppero no explicaban mucho.
¿Puede ser que con este parámetro pueda modificar el CommonDialog, para tener mas funcionalidades?
#50
Ya esta solucionado, el trozo de script queda así.


Código (vb) [Seleccionar]
Set fso = CreateObject("Scripting.FileSystemObject")
Set carpeta = fso.GetFolder("C:\")
For Each archivo in Carpeta.Files
if len(Archivo.name)=16 then
fso.MoveFile archivo.path, replace ("C:\" & archivo.name, "_100.msk", ".msk")
end if
next


Gracias Novlucker por tu ayuda, no sabes cuantos cabezazos me he dado con este script.
Un saludo a todos.