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

 

 


Tema destacado: Tutorial básico de Quickjs


  Mostrar Mensajes
Páginas: 1 2 3 4 [5] 6
41  Programación / Scripting / Re: VBScript No puedo borrar 2 ficheros intermedios en: 24 Octubre 2009, 21:53 pm
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
  1. Set fso = CreateObject("Scripting.FileSystemObject")
  2. Set ws = CreateObject("WScript.Shell")
  3. Set objShell = CreateObject("Shell.Application")
  4. Set objFolder = objShell.BrowseForFolder(0, "SELECCIONEU EL DIRECTORI ORTOFOTO:", 0, 0)
  5. If objFolder Is Nothing Then
  6. MsgBox("L'aplicacio s'ha cancelat")
  7. Wscript.Quit
  8. End If
  9. ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
  10. 'CREAR UN ARCHIU TXT PER DESPRES EDITARLO Y APUNTAR LES ORTOS QUE FALTEN PER GENERAR.
  11. ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
  12. Set ar = fso.CreateTextFile(objFolder.self.path & "\ortofotos-que-faltan.txt", True)
  13. ar.writeline(objFolder.self.path)
  14. ar.close
  15. ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
  16. 'CREAR UN ARCHIU TXT AMB TOTES LES ORTOFOTOS DEL BLOC A PARTIR DELS FITXERS FERFULL
  17. ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
  18. Set car = fso.GetFolder(objfolder.parentfolder.self.path)
  19. Set listadoORTOFOTOS= fso.CreateTextFile(objFolder.self.path & "\llistat-ortofotos.txt", True)
  20. For Each archivo in car.Files
  21. If right(archivo.name,12)="_FerFull.bat" then
  22. listadoORTOFOTOS.writeline (archivo.name)
  23. End If
  24. Next
  25. listadoORTOFOTOS.close
  26. ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
  27. 'COMPARAR EL FITXER llistat-ortofotos.txt AMB LES ORTOS QUE ES TROBEN AL DIRECTORI ORTOFOTO
  28. ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
  29. Set var = fso.OpenTextFile(objFolder.self.path & "\llistat-ortofotos.txt", 1)
  30. Do
  31. linea=var.Readline
  32. nombreArchivo=mid(linea,1,7)
  33. FileExists=fso.FileExists (objFolder.self.path& "\" &nombreArchivo& "_S.rf")
  34. if FileExists=FALSE Then
  35. Set arc = fso.GetFile (objFolder.self.path & "\ortofotos-que-faltan.txt")
  36. Set arc = arc.OpenAsTextStream(8)
  37. arc.Writeline nombreArchivo & "_S.rf"
  38. End if
  39. loop until var.AtEndOfStream=True
  40. arc.close
  41. ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
  42. 'OBRE EL FITXER ortofotos-que-faltan.txt
  43. ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
  44. msgbox ("Aquestes son les ortofotos que no es tronben al directori indicat")
  45. ws.Run (objFolder.self.path & "\ortofotos-que-faltan.txt")
  46. ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
  47. 'BORRA ELS FITXERS INTERMITJOS
  48. ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
  49. 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  Programación / Scripting / Re: leer un trozo de linea de texto de un fichero 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
43  Programación / Scripting / VBScript No puedo borrar 2 ficheros intermedios SOLUCIONADO en: 24 Octubre 2009, 17:33 pm
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
  1. Set fso = CreateObject("Scripting.FileSystemObject")
  2. Set ws = CreateObject("WScript.Shell")
  3. Set objShell = CreateObject("Shell.Application")
  4. Set objFolder = objShell.BrowseForFolder(0, "SELECCIONEU EL DIRECTORI ORTOFOTO:", 0, 0)
  5. If objFolder Is Nothing Then
  6. MsgBox("L'aplicacio s'ha cancelat")
  7. Wscript.Quit
  8. End If
  9. ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
  10. 'CREAR UN ARCHIVO txt en donde se encuentran las ortofotos
  11. ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
  12. Set var = fso.CreateTextFile(objFolder.self.path & "\variableobjFolder.self.path.txt", True)
  13. var.writeline(objFolder.self.path)
  14. var.close
  15. ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
  16. 'crear un txt para despues editarlo
  17. ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
  18. Set ar = fso.CreateTextFile(objFolder.self.path & "\ortofotos-que-faltan.txt", True)
  19. ar.writeline(objFolder.self.path)
  20. ar.close
  21. ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
  22. 'leer la ruta donde se encuentran las ortofotos
  23. ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
  24. Set ar = fso.OpenTextFile(objFolder.self.path & "\variableobjFolder.self.path.txt", 1)
  25. linea=ar.Readline
  26. pos=instrrev(linea,"\")
  27. nlinea=left(linea,pos-1)
  28. ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
  29. 'crear u txt con todas las ortos del bloque a partir de los ficheros *ferfull
  30. ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
  31. Set car = fso.GetFolder(nlinea)
  32. Set listadoORTOFOTOS= fso.CreateTextFile(objFolder.self.path & "\llistat-ortofotos.txt", True)
  33. For Each archivo in car.Files
  34. If right(archivo.name,12)="_FerFull.bat" then
  35. listadoORTOFOTOS.writeline (archivo.name)
  36. End If
  37. Next
  38. listadoORTOFOTOS.close
  39. ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
  40. 'comparar el fichero llistat-ortofotos con las ortos que hay en el directorio ortofoto
  41. ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
  42. Set var = fso.OpenTextFile(objFolder.self.path & "\llistat-ortofotos.txt", 1)
  43. Do
  44. linea=var.Readline
  45. nombreArchivo=mid(linea,1,7)
  46. FileExists=fso.FileExists (objFolder.self.path& "\" &nombreArchivo& "_S.rf")
  47. if FileExists=FALSE Then
  48. Set arc = fso.GetFile (objFolder.self.path & "\ortofotos-que-faltan.txt")
  49. Set arc = arc.OpenAsTextStream(8)
  50. arc.Writeline nombreArchivo & "_S.rf"
  51. End if
  52. loop until var.AtEndOfStream=True
  53. arc.close
  54. ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
  55. 'abrir el fichero ortofotos-que-faltan.txt
  56. ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
  57. msgbox ("Aquestes son les ortofotos que no es tronben al directori indicat")
  58. ws.Run (objFolder.self.path & "\ortofotos-que-faltan.txt")
  59. ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
  60. 'borara los ficheros intermedios
  61. ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
  62. fso.DeleteFile objFolder.self.path & "\llistat-ortofotos.txt", True
  63. fso.DeleteFile objFolder.self.path & "\variableobjFolder.self.path.txt", True


Nota del mod: recuerda las etiquetas
44  Programación / Scripting / Re: leer un trozo de linea de texto de un fichero 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
45  Programación / Scripting / 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)
46  Programación / Scripting / Re: seleccionar directorio con CommonDialog [vbscript] en: 23 Octubre 2009, 05:15 am
Gracias Novlucker, es precisamente lo que andaba buscando.
47  Programación / Scripting / Re: mantener msg.popup desde que empieza una acción hasta que acaba [vbscript] en: 22 Octubre 2009, 01:03 am
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  Programación / Scripting / VBScript mantener msg.popup desde que empieza una acción hasta que acaba en: 20 Octubre 2009, 22:10 pm
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  Programación / Scripting / VBScript seleccionar directorio con CommonDialog SOLUCIONADO en: 18 Octubre 2009, 01:45 am
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  Programación / Scripting / Re: ¿como renombrar un grupo de ficheros? [vbscript] en: 18 Octubre 2009, 01:25 am
Ya esta solucionado, el trozo de script queda así.


Código
  1. Set fso = CreateObject("Scripting.FileSystemObject")
  2. Set carpeta = fso.GetFolder("C:\")
  3. For Each archivo in Carpeta.Files
  4. if len(Archivo.name)=16 then
  5. fso.MoveFile archivo.path, replace ("C:\" & archivo.name, "_100.msk", ".msk")
  6. end if
  7. next

Gracias Novlucker por tu ayuda, no sabes cuantos cabezazos me he dado con este script.
Un saludo a todos.
Páginas: 1 2 3 4 [5] 6
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines