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

 

 


Tema destacado: Estamos en la red social de Mastodon


  Mostrar Temas
Páginas: 1 [2]
11  Programación / Scripting / (Python)Existen ventanas de entrada y salida de datos en python en: 14 Noviembre 2009, 12:03 pm
Pues la cuestión es que estaba aprendiendo VBscript.
Pero como el programa que mas uso es el blender, pensé en meterme con python.

El tema es, he estado leyendo manuales de python, pero no veo la equivalencia de el msbox o el inputbox de VBscript.
¿Se pueden generar ventanas para entrar y recoger datos en python?
Y si la respuesta es afirmativa.
Algún link donde se hable del tema.
Yo por el momento no he encontrado ninguno y un amigo que programa en python dice que se puede.
Un saludo y gracias por vuestro tiempo.
12  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
13  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)
14  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
15  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?
16  Programación / Scripting / [vbscript]¿como renombrar un grupo de ficheros? SOLUCIONADO en: 18 Octubre 2009, 00:17 am
Antes de nada agradecer a todos los integrantes del foro,por toda la información y conocimiento que he podido utilizar, para poder ir aprendiendo un poco de VBScript.

Pues tengo un problema, en medio de un script que estoy haciendo, no se como renombrar un grupo de ficheros.

Si no a quedado muy clara la cosa leete la parrafada de abajo...tampoco es tan larga.

Los ficheros son un un nombre de 8 dígitos(que son numeros)+_100+ extension(.msk)

Ejemplo:80123451_100.msk
              80123452_100.msk
              80123453_100.msk
              80123454_100.msk
              80123455_100.msk

 La cuestión que renombrar con move es muy fácil:

Set fso = CreateObject("Scripting.FileSystemObject")
fso.MoveFile “c:\80123451_100.msk”, “80123451_100.msk”

Pero lo que quiero es quitar *_100* de todos los ficheros.
Sin tener que escribir la relación de cada uno.
Porque normalmente lo tengo que hacer con unos 500 ficheros.
              80123451_100.msk       80123451.msk
              80123452_100.msk       80123452.msk
              80123453_100.msk       80123453.msk
              80123454_100.msk       80123454.msk
              80123455_100.msk       80123455.msk

Lo que pensaba era utilizar un for each:


Set fso = CreateObject("Scripting.FileSystemObject")
Set carpeta = fso.GetFolder(camino)
For Each archivo in Carpeta.Files
if len(Archivo.name)=16  then
fso.MoveFile archivo.path,  archivo.name
end if
next
el problema es que no se como filtrar los nombres para que me sustituya el _100 por nada.

Vamos como se hace en msdos.

Rename 8???????_100.msk 8???????.msk

Es que ya no se que mas probar.

¿Porque la opción replace solo se utiliza para reemplazar texto? ¿No?

¿O se puede utilizar para reemplazar dígitos de un nombre de archivo?

Estoy pensando en que el script me haga un bath automáticamente y ejecutarlo para renombrar los ficheros.
Pero creo que es un poco trampa.
Quiero aprender con vbscript y no hacer un apaño con un bath.

Un saludo a todos y gracias por vuestro tiempo.
Páginas: 1 [2]
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines