Archivo de notas mediante comando SHELL

Ver el tema anterior Ver el tema siguiente Ir abajo

Archivo de notas mediante comando SHELL

Mensaje por amc.dicsac el Jue Abr 14, 2016 8:06 pm

Hola que tal, tengon este lisp que crea un archivo de texto en la ruta indicada mediante el comando shell, el problema es que cada vez que crea el archivo me manda un mensaje de confirmación "Desea crear el archivo", quisiera saber si hay un modo de suprimir ese mensaje.

Gracioa

Código:
(defun c:ntext ( / shell projname )
(vl-load-com)
(setq projname (getstring T "\nIngresa nombre del archivo: "))
(setq shell (vlax-create-object "WScript.Shell"))
(vlax-put-property shell 'CurrentDirectory "C:\")
(vlax-invoke-method shell 'Exec (if (eq projname "") "notepad.exe" (strcat "notepad.exe " projname)))
(vlax-release-object shell)
(princ))
avatar
amc.dicsac

Mensajes : 77
Fecha de inscripción : 17/03/2016
Edad : 26
Localización : Lima - Perú

Ver perfil de usuario http://axprogramlisp.blogspot.pe/

Volver arriba Ir abajo

Re: Archivo de notas mediante comando SHELL

Mensaje por nolo el Dom Abr 17, 2016 8:35 pm

Este problema creo que aparece porque intentas escribir en el directorio raíz y con windows vista en adelante, el sistema operativo no te deja hacerlo sin avisarte. Existe la opción de rebajar la seguridad en el "control de cuentas de usuario"(mira en la ayuda de tu windows), pero será siempre más fácil escribir en una subcarpeta pejem. c:\confianza\loquesea.txt
Otra cosa que ocurre es que cuando acompañas a la llamada al block de notas con el nombre de un archivo, este entiende que quieres editarlo y te pregunta si no lo encuentra, para evitarlo, haz (vlax-invoke-method shell 'Exec "notepad.exe") sin archivo y lo guardas luego con el nombre que quieras.

Un saludo

nolo

Mensajes : 100
Fecha de inscripción : 17/03/2016

Ver perfil de usuario

Volver arriba Ir abajo

Re: Archivo de notas mediante comando SHELL

Mensaje por nolo el Dom Abr 17, 2016 10:33 pm

También puedes crear un archivo en blanco (si no existe ya) antes de abrirlo
Algo así
Código:
(defun c:ntext ( / shell projname donde )
(vl-load-com)
(setq donde "c:\\paso")
(defun blanco( file )
(if (findfile (strcat donde file))
 (princ"\nEl artchivo existe")
 (progn(setq indi (open (strcat donde file)"w"))
 (write-line "" indi)
 (close indi))
))
(setq projname (getstring T "\nIngresa nombre del archivo: "))
(setq shell (vlax-create-object "WScript.Shell"))
(vlax-put-property shell 'CurrentDirectory donde);;;"C:")
(vlax-invoke-method shell 'Exec (if (eq projname "") "notepad.exe"
 (progn (blanco projname)(strcat "notepad.exe " "\""donde projname"\"")))
)
(vlax-release-object shell)
(princ))

y otra cosa que puedes hacer es arrancar directamente con startapp el bloc de notas sin necesidad del scrpit

Código:
(startapp "notepad.exe")

Un saludo

nolo

Mensajes : 100
Fecha de inscripción : 17/03/2016

Ver perfil de usuario

Volver arriba Ir abajo

Re: Archivo de notas mediante comando SHELL

Mensaje por Contenido patrocinado


Contenido patrocinado


Volver arriba Ir abajo

Ver el tema anterior Ver el tema siguiente Volver arriba

- Temas similares

 
Permisos de este foro:
No puedes responder a temas en este foro.