30 de enero de 2014

EXECUTE para copiar archivos y otras funciones

Algunas sentencias del comando EXECUTE

NOTA: Para recargar varios qvw usado execute, ver ejemplo adjunto aqui

1. Mueve todos los archivos QVD de la carpeta anterior "Nuevos" a la carpeta "Cargados"
EXECUTE cmd /c Move "..\Nuevos\*.qvd" "..\Cargados\";

2. Borra todos los QVD ubicados en la carpeta anterior "Cargados"
EXECUTE cmd /c Del "..\Cargados\*.qvd"; 

3. Copia todos los QVD de la carpeta anterior "Cargados" a la carpeta "Historico"
EXECUTE cmd /c Copy "..\Cargados\*.qvd" "..\Historico\";

4. Renombra el archivo Enero.qvd por Enero_old.qvd
EXECUTE cmd /c Ren "..\Cargados\Enero.qvd" "Enero_old.qvd";

5. Abre y ejecuta el Script del qvw Historico.qvw. Al terminar la ejecución, guarda y cierra el qvw.
EXECUTE 
"C:\Program Files\QlikView\QV.exe"  
"..\ArchvosQVDs\Historico.qvw" /R;


6. Abre y ejecuta el Script en  Historico.qvw.   Al terminar la ejecución, deja abierto el qvw
EXECUTE 
"C:\Program Files\QlikView\QV.exe"  "..\ArchvosQVDs\Historico.qvw" /L;

7. Abre y ejecuta el Script en Historico.qvw. Luego asigna el valor 2014  a la variable ULTIMO_AÑO (variable existente en Historico.qvw). Al terminar la ejecución, guarda y cierra el qvw. NOTA: la v minuscula en vULTIMO_AÑO no es parte del nombre de la variable, sino un parametro. 
EXECUTE 
"C:\Program Files\QlikView\QV.exe"  /vULTIMO_AÑO=2014 "..\ArchvosQVDs\CreacionQVD_Historico.qvw" /R;

8. Abre el archivo DatosHistoricos.qvw sin datos cargados
EXECUTE
"C:\Program Files\QlikView\QV.exe" /NODATA "..\ArchvosQVDs\DatosHistorico.qvw";

9. Crea  la carpeta nueva ENERO
EXECUTE cmd /c mkdir C:\QVD\ENERO; 



NOTA: Para programar recargas diarias de varios qvw, ver ejemplo publicado aqui

Referencias:
1. http://www.naturalsynergies.com/q-tip-7-execute-a-command-using-execute/
2. http://qlikviewmaven.blogspot.com.ar/2008/08/qlikview-command-line-and-automation.html
3. http://www.youtube.com/watch?v=HaHjMPBGlxw#t=535

9 comentarios:

Gonzalo Izarduy dijo...

Excelente!
Aunque el parametro /R o /L van al final de la sentencia, por ejemplo:

EXECUTE
"C:\Program Files\QlikView\QV.exe" "..\ArchvosQVDs\CreacionQVD_Historico.qvw" /R;

Enmanuel Santana dijo...

hola Gonzalo, gracias por el aporte. La forma en que está publicado funciona, luego pruebo ambos métodos para ver diferencias. Si encuentro algo relevante, lo comparto


gracias

Enmanuel Santana dijo...

Gonzalo, tenias razón. Al intentar usar esto, funciona con el parámetro /R /L al final. Modifico la nota con este cambio.

Gracias!

Gonzalo Izarduy dijo...

;)

Gonzalo Izarduy dijo...

Muy interesante... Volver a Googlear por otro tema y encontrarme de nuevo con que la solucion está aqui

Martin dijo...

Emmanuel, buen dia!
como puedo hacer para que el EXECUTE CMD.EXE /C DEL "c:\temp\*.*"

me funcione recargando con a mano con el cliente Qlikview pero sin que la ventana de seguridad me aparezca?

al ejecutarlo me aparece una ventana "Alerta de Seguridad - Sentencia no Autorizada"

y luego botones: Parar la Ejecucion
Saltar Sentencia
Pasar por alto la Seguridad y Ejecutar la sentencia.


gracias!!!

Enmanuel Santana dijo...

hola Martin
Para evitar el mensaje, vas al Editor de Script y en las pestañas que está en la parte inferior vas a la pestaña Configuración y ahí habilitas la casilla de "Puede Ejecutar Programas Externos".

Diego dijo...

Hola, quiero ejecutar un Dir desde un boton y guardar su contenido en un archivo, use el sig. codigo.

sub Local
EXECUTE cmd dir /a /q /s D:\> D:\EstadoLocal.txt;
end sub

Y al Verificar me sale "Se esperaba un final de instrucción"
Que esta mal??

Diego dijo...

En otro foro vi que usa la comilla simple despues de Execute, esto me permite Verificar, pero al ejecutar el boton, se me abre el editor de Modulo sin ningun error ni comentario

sub Local
EXECUTE 'cmd dir /a /q /s D:\> D:\EstadoLocal.txt';
end sub

Me falta algo?