Re: 날짜 조건으로 정보 가져오기: 지정된 날짜 및 시간보다 크면 파일 이름을 목록에 넣습니다.제공한 예에서 path2 = 줄에 큰따옴표가 누락되어 있고 시간 참조가 JMP에서 처리되지 않는 것 같으므로 Informat() 함수로 변경하면 다음을 보장할 수 있습니다. JMP 날짜/시간 참조가 올바르게 해석되고 있습니다.
names default to here(1);
path2 = "C:\Users\test\";
filelist = Files In Directory( path2 );
lst2 = {};
For( i = 1, i <= N Items( filelist ), i++,
If( Contains( filelist[i], ".zip" ) & Creation Date( path2 || filelist[i] ) > informat("2022-10-12T08:00:00", "yyyy-mm-ddThh:mm:ss"),
Insert Into( lst2, filelist[i] )
)
);날짜 조건으로 정보 가져오기: 파일 이름이 지정된 날짜 및 시간보다 크면 목록에 넣습니다.안녕,
1) zip 아카이브이고 2) 생성 날짜가 yyyy/mm/dd보다 큰 경우 주어진 조건으로 디렉토리에서 파일 이름 목록을 가져오려고 합니다. 아래는 내 스크립트입니다. 내 질문
1) 오류 없이 실행되었지만 빈 목록을 반환하지 않았습니다. 무엇이 문제인지 잘 모르겠습니다(아마도 날짜).
2) 어떻게 생성 날짜() 출력 형식을 yyyy/mm/dd hh:mm:ss로 설정할 수 있습니까?
3) zip 폴더가 100,000개가 넘기 때문에 path2를 반복하는 데 시간이 오래 걸립니다. 더 빠른 다른 방법이 있습니까?
감사
path2 = "C:\Users\test\;
filelist = files in directory (path2);
lst2 = {};
For(i=1, i<= N items(filelist), i++,
If( Contains(filelist[i], ".zip") & Creation Date( path2||filelist[i]) > 2022-10-12T08:00:00, Insert Into( lst2, filelist[i] )
),
);
스크립팅Re: 날짜 조건으로 정보 가져오기: 지정된 날짜 및 시간보다 크면 파일 이름을 목록에 넣습니다.안녕 짐, 고마워. 문제가 해결되었습니다. 그러나 폴더에 너무 많은 파일이 있으면 통과하는 데 너무 많은 시간이 걸립니다. 다음은 새로운 단계이므로 다음에 최신 파일을 가져오려고 할 때 날짜/시간을 필터로 사용하는 것과 같이 오랜 시간이 걸리지 않습니다(위). 효과적인 방법인지 잘 모르겠습니다. 더 짧은 시간에 최신 파일을 추출하는 더 좋은 방법이 있습니까?
1) 처음으로 정의된 폴더에 있는 전체 파일 목록을 가져옵니다( 디렉터리의 파일(dir) ). "T1" 테이블의 열에 저장했습니다(한 번만 실행).
2) 언젠가는 같은 폴더에 최신 파일이 추가됩니다. 스크립트는 동일한 폴더로 이동하고 전체 파일 목록을 "newlist"로 가져옵니다(newlist = 디렉토리의 파일(dir)) .
3) 테이블 1)의 열을 목록으로 가져온 다음 루프를 통해 newlist에서 요소를 제거합니다(Remove From() 사용).
4) newlist에 필요한 모든 작업을 수행합니다.
5) 1)의 테이블에 newlist를 추가합니다.
6) 다음에 최신 파일을 다시 가져와야 할 때 2)-5) 단계를 반복합니다.
어떠한 제안?
Re: 날짜 조건으로 정보 가져오기: 지정된 날짜 및 시간보다 크면 파일 이름을 목록에 넣습니다.이것을 시도해 볼 수 있습니다.... 속도를 높여야 합니다.
Names Default To Here( 1 );
path2 = "C:\Users\test\";
filelist = Files In Directory( path2 );
For( i = N Items( filelist ), i >= 1, i--,
If( Right( filelist[i], 4 ) != ".zip",
Remove From( filelist, i, 1 )
)
);
lst2 = {};
For( i = 1, i <= N Items( filelist ), i++,
If( Creation Date( path2 || filelist[i] ) > informat("2022-10-12T08:00:00", "yyyy-mm-ddThh:mm:ss"),
Insert Into( lst2, filelist[i] )
)
);