안녕하세요 여러분,
저는 JSL을 사용하여 디렉토리에서 파일을 수집하고 필터링하는 작업을 하고 있습니다.
기본 필터링 로직(이름, 확장자, 크기)은 제대로 작동하지만, 생성 날짜 필터를 추가하는 과정에서 문제가 발생합니다.
이 코드는 이름에 "result"가 포함된 비어 있지 않은 .txt 파일을 정확하게 찾습니다.
</CODE></PRE>
<P>Windows 환경에서 JSL을 사용하여 "디렉토리 내 파일"과 "각 항목 필터링"을 함께 사용할 때, 생성 날짜를 기준으로 파일을 필터링하는 권장되거나 신뢰할 수 있는 방법은 무엇입니까?<BR /><BR /> 감사해요,</P>
<BR />
</LINGO-BODY>
<LINGO-LABS id="lingo-labs-944809" slang="en-US" mode="CREATE">
<LINGO-LABEL>자동화 및 스크립팅</LINGO-LABEL>
<LINGO-LABEL>데이터 접근</LINGO-LABEL>
</LINGO-LABS>
<LINGO-SUB id="lingo-sub-944828" slang="en-US" mode="CREATE" translate="no">Re: JSL: 디렉터리의 파일과 각 파일을 필터링하여 생성 날짜별로 파일 필터링하기</LINGO-SUB>
<LINGO-BODY id="lingo-body-944828" slang="en-US" mode="CREATE">
<P><A href="https://help.jmp.com/help?keyword=JSL%20Creation%20Date&lang=en&os=win&source=application&version=19.1.1" target="_blank" rel="noopener noreferrer">생성 날짜()를</A> 사용하세요</P>
<P><SPAN class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="jthi_0-1777384067549.png" style="width: 400px;"><SPAN class="lia-inline-image-display-wrapper" image-alt="jthi_0-1777384067549.png" style="width: 400px;"><SPAN class="lia-inline-image-display-wrapper" image-alt="jthi_0-1777384067549.png" style="width: 400px;"><SPAN class="lia-inline-image-display-wrapper" image-alt="jthi_0-1777384067549.png" style="width: 400px;"><span class="lia-inline-image-display-wrapper" image-alt="jthi_0-1777384067549.png" style="width: 400px;"><img src="https://us.v-cdn.net/6038925/uploads/images/101357i40F649504D631A24/jthi_0-1777384067549.png" role="button" title="jthi_0-1777384067549.png" alt="jthi_0-1777384067549.png" /></span></SPAN></SPAN></SPAN></SPAN></P>
<P>어떤 논리를 추구하시는지 알려주시지 않아서, 무엇과 조합해야 할지 제안하기 어렵습니다.</P>
</LINGO-BODY>
<LINGO-SUB id="lingo-sub-944864" slang="en-US" mode="CREATE" translate="no">Re: JSL: 디렉터리의 파일과 각 파일을 필터링하여 생성 날짜별로 파일 필터링하기</LINGO-SUB>
<LINGO-BODY id="lingo-body-944864" slang="en-US" mode="CREATE">
<P>야르모, 고마워요. 좀 더 자세히 설명드릴게요.</P>
<P>제가 하려는 것은 기존 필터 외에 생성 날짜 범위를 기준으로 파일을 필터링하는 것입니다(예: 2026년 1월 1일부터 2026년 3월 31일 사이에 생성된 파일).</P>
<P>저는 Creation Date() 함수를 여러 가지 방법으로 사용해 보려고 시도해 봤지만 (사용자 커뮤니티의 예제도 포함해서), Files In Directory() 및 Filter Each() 함수와 어떻게 조합해야 할지 몰라서 결국 아무것도 작동하지 않았습니다.</P>
<P>이 작업을 올바르게 수행하는 방법을 예시로 보여주시겠습니까?<BR /><BR /> -아론</P>
</LINGO-BODY>
<LINGO-SUB id="lingo-sub-944865" slang="en-US" mode="CREATE" translate="no">Re: JSL: 디렉터리의 파일과 각 파일을 필터링하여 생성 날짜별로 파일 필터링하기</LINGO-SUB>
<LINGO-BODY id="lingo-body-944865" slang="en-US" mode="CREATE">
<P>예를 들면 다음과 같습니다.</P>
<PRE><CODE class=" language-jsl">Names Default To Here(1);
folderPath = "C:/Users/.../test";
fileListOrig = Files In Directory(folderPath, Recursive(1));
fileList = Filter Each({v, i}, fileListOrig,
Contains(v, "result") &
Ends With(v, ".txt") &
creation date(v) < informat("01052026", "MMDDYYYY") &
creation date(v) >= informat("01052025", "MMDDYYYY") &
File Size(folderPath || v) > 0
);
// Data Cleaning
For( i = 1, i <= N Items( fileList ), i++,
fileName = fileList[i];
...Names Default To Here(1);
folderPath = "C:/Users/.../test";
fileListOrig = Files In Directory(folderPath, Recursive(1));
fileList = Filter Each({v, i}, fileListOrig,
Contains(v, "result") &
Ends With(v, ".txt") &
File Size(folderPath || v) > 0
);
// Data Cleaning
For( i = 1, i <= N Items( fileList ), i++,
fileName = fileList[i];
...
날짜 형식을 구성하고(다양한 방법이 있습니다. 날짜/시간 함수는 JSL 구문 참조 > JSL 함수, 연산자 및 메시지 > 날짜/시간 함수를 참조하세요), 생성 날짜가 포함된 파일 경로를 사용하고(경로를 구성할 때 폴더 이름이 "/"로 끝나는지 여부에 유의하세요), 비교 연산자를 추가하세요.
Names Default To Here(1);
folder = Convert File Path("$SAMPLE_DATA");
sdate = Date DMY(1,1,2025);
edate = Date DMY(31,3,2026);<BR />
flist = Files In Directory(folder, Recursive(1));
filtered_files = Filter Each({filename}, flist,
Contains(filename, "Data") &
Ends With(filename, ".jmp") &
File Size(folder || filename) > 0 &
sdate <= Creation Date(folder || filename) <= edate
);