현재 스크립트의 이름 가져오기<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />스크립트로 만든 보고서에 스크립트 이름을 추가하는 방법을 찾고 있습니다. 이것은 어느 시점에서 스크립트 이름의 텍스트 문자열을 가져와야 함을 의미합니다. 스크립트 파일 디렉토리는 다음과 같습니다.
sDir=기본 디렉토리 가져오기();
및 해당 디렉토리 내의 파일:
lFiles=디렉토리의 파일(sDir);
하지만 현재 실행 중인 스크립트의 파일 이름만 얻는 방법을 찾지 못했습니다. 문제는 나중에 저장된 보고서를 찾을 때 해당 보고서를 생성하기 위해 실행된 스크립트를 정확히 알고 싶습니다.
도와주세요.
Re: 현재 스크립트 이름 가져오기제가 JMP를 처음 접해서 이 함수가 얼마나 오랫동안 사용되었는지 잘 모르겠고 비슷한 문제를 해결하려고 시도하는 동안 이 함수를 직접 찾았지만 "Include File List()" 함수가 다음 목록을 반환하는 것 같습니다. 실행 스크립트의 컨텍스트에 있는 파일을 엽니다. (그런데 이 함수에 대한 설명은 스크립팅 인덱스 또는 온라인 리소스에 있는 대부분의 함수/메서드/메시지의 경우와 마찬가지로 일종의 정보 제공용일 뿐입니다.)
스크립트에 의해 다른 것이 열리기 전에 이 함수가 스크립트의 맨 위에서 실행되면 스크립트 파일 경로와 스크립트 파일 이름이 해당 지점에서 반환되는 유일한 경로이므로 스크립트 파일 경로와 스크립트 파일 이름을 추출할 수 있는 것 같습니다.
JMP에서 열린 다른 파일로 테스트하고 Windows 탐색기에서 스크립트를 두 번 클릭하여 스크립트를 실행했을 때(스크립트 상단에 "//!"를 포함하여 스크립트 편집기 창을 열지 않고 열릴 때 스크립트가 실행되도록 설정 ), 해당 스크립트의 경로만 반환됩니다. 열려 있는 다른 파일은 반환되지 않습니다.
Re: 현재 스크립트 이름 가져오기그것이 바로 내가 한 일이었습니다. 고맙습니다
Re: 현재 스크립트 이름 가져오기내 질문을 게시하기 전에 거의 똑같은 스크립트("For" 루프)를 생각해 냈습니다. 문제는 반환하는 스크립트가 현재 스크립트인지 여부를 알 수 없다는 것입니다. 예를 들어 동일한 스크립트가 동일한 폴더의 다른 버전에 저장되어 있으면 .jsl 파일 목록이 표시됩니다. 같은 위치에 비슷한 이름의 스크립트를 얼마나 많이 저장할 수 있는지에 상관없이 현재 실행 중인 스크립트의 이름을 가져와야 합니다.
Re: 현재 스크립트 이름 가져오기스크립트가 스크립트 창에서 실행되는 경우 아래 예제의 직접 접근 방식은 파일 이름을 제공합니다.
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: 현재 스크립트 이름 가져오기방법이 있는지 모르겠습니다.각 스크립트의 시작 부분에 변수를 설정했습니다.약간 지루하지만 디버깅에 도움이 됩니다.
이름 = "내 스크립트.JSL" ;
Re: 현재 스크립트 이름 가져오기다음을 사용해보십시오.
포함 (l파일 , "스크립트.jsl" ) ;
이것을 사용하여 ".jmp"를 사용하여 JMP 테이블을 찾았고 저에게 효과적이었습니다.
또는 질문이 잘못된 경우 디렉토리의 파일 수를 반복하고 다음과 같은 스크립트 파일 이름을 얻을 수 있는 다른 방법이 있습니다.
을 위한 ( N = 1 , N <= N개 항목 ( l파일 ) , N ++,
파일 =l 파일 [ N ] ;
만약에 (
로 끝나다 ( 파일 , ".jsl" ) ,/*당신의 일을 하세요*/;
부서지다();
);
);