Obtener el nombre del script actual<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Estoy intentando encontrar una manera de agregar el nombre de un script al informe creado por el script. Esto significa que necesito obtener una cadena de texto con el nombre del script en algún momento. Puedo que el directorio del archivo de script:
sDir=Obtener directorio predeterminado();
y los archivos dentro de ese directorio:
lFiles=Archivos en el directorio(sDir);
Pero no he encontrado una manera de obtener solo el nombre del archivo que obtengo del script que estoy ejecutando actualmente. El problema es que cuando encuentro un informe guardado más tarde, quiero saber exactamente qué script se ejecutó para producir dicho informe.
Por favor ayuda.
Re: Obtener nombre del script actualGracias @BioDatos41
Siempre que use esto en el script para hacer referencia a su propia ruta de archivo, funciona cuando ejecuta el archivo por sí solo o cuando ejecuta el script desde otro script usando Include().
scriptFilePath = Include File List()[1];
Re: Obtener nombre del script actualNo estoy seguro de cuánto tiempo ha existido esta función, ya que soy bastante nuevo en JMP y acabo de encontrar esta función mientras intentaba resolver un problema similar, pero parece que la función "Incluir lista de archivos()" devuelve una lista de abra archivos que estén en el contexto del script en ejecución. (Por cierto, la descripción de esta función es sólo informativa, como es el caso de la mayoría de funciones/métodos/mensajes en el Índice de secuencias de comandos o recursos en línea).
Parece que si esta función se ejecuta en la parte superior del script antes de que el script abra cualquier otra cosa, la ruta del archivo del script y el nombre del archivo del script se pueden extraer de allí, ya que esta es la única ruta devuelta en ese punto.
Cuando lo probé con otros archivos abiertos en JMP y ejecuté el script haciendo doble clic en él desde el Explorador de Windows (con el script configurado para ejecutarse abierto sin abrir una ventana del editor de scripts al incluir "//!" en la parte superior del script ), solo obtengo la ruta de ese script. Ninguno de los otros archivos abiertos se devuelve.
Re: Obtener nombre del script actualEso fue exactamente lo que hice. Gracias
Re: Obtener nombre del script actualSe me ocurrió casi exactamente el mismo script (el bucle "For") antes de publicar mi pregunta. El problema es que no sé si el script que devuelve es el actual. Si, por ejemplo, el mismo script se guarda en diferentes versiones en la misma carpeta, obtendría una lista de archivos .jsl. Necesito obtener el nombre del script actual en ejecución sin importar cuántos scripts con nombres similares puedan guardarse en la misma ubicación.
Re: Obtener nombre del script actualSi el script se ejecuta desde una ventana de script, el método directo del siguiente ejemplo le proporciona el nombre del archivo.
scr_name = Current Window() << get window title;
dt = Open("$SAMPLE_DATA/Big Class.jmp");
nw = New Window("My Report", Bivariate(Y(:weight), X(:height)), Text Box(scr_name));
Re: Obtener nombre del script actualNo sé si hay una manera de hacer eso.Configuré una variable al comienzo de cada script.Un poco tedioso pero ayuda con la depuración.
pnombre = "Mi guión.JSL" ;
Re: Obtener nombre del script actualIntenta usar:
Contiene (lArchivos , "script.jsl" ) ;
Utilicé esto para localizar una tabla JMP usando ".jmp" y funcionó para mí.
O si me equivoqué en su pregunta, hay otra forma en la que puede recorrer la cantidad de archivos en el directorio y obtener el nombre del archivo del script como:
Para ( norte = 1 , norte <= N artículos ( lArchivos ) , norte ++,
archivo =l archivos [ norte ] ;
Si (
Termina con ( archivo , ".jsl" ) ,/*Haz tus cosas*/;
Romper();
);
);