Re: ZIP 파일의 하위 디렉토리에서 txt 파일을 읽고 저장합니다.여기에 zip 폴더의 예를 예로 추가했습니다. 아래는 에러 메시지
dirlist = {"test/12.txt", "test/hello.txt", "test/me/", "test/me/testing.txt", "test/test/", "test/test/mytxtfile.txt" txt"};
IO 문제: "mytxtfile" ReadWrite 모드에서 열 수 없습니다.
시스템이 지정된 경로를 찾을 수 없습니다.
Re: ZIP 파일의 하위 디렉토리에서 txt 파일을 읽고 저장합니다.스크립트가 어디에서 잘못되었는지 (아직) 확인하지 않았지만 txt 파일을 저장해야 하는 버전이 있습니다(For Each() 및 Filter Each()로 인해 JMP16+ 필요)
Names Default To Here(1);
file_of_interest = "mytxtfile.txt";
zip_path = "$DOWNLOADS\test.zip";
save_path = "$DOWNLOADS\586819.txt";
za = Open(zip_path, "zip");
members_in_zip = za << dir;
// take only .txt files
file_paths_of_interest = Filter Each({members}, members_in_zip,
Ends With(members, file_of_interest);
);
If(N Items(file_paths_of_interest) == 0,
Throw("Not found");
);
// Assume that only one of those files exist
file_path_of_interest = file_paths_of_interest[1];
data = za << read(file_path_of_interest, Format("string"));
Save Text File(save_path, data);
//Open(save_path);

Re: ZIP 파일의 하위 디렉토리에서 txt 파일을 읽고 저장합니다.zip 파일에 대해 알아야 할 사항: zip 파일에는 실제로 중첩된 계층적 디렉토리 구조가 없습니다. zip 파일의 디렉토리는 단순한 문자열 이름 목록입니다. 이러한 이름에는 / 또는 \ 문자가 포함될 수 있으며 일부 zip 파일 뷰어는 이를 계층적 중첩으로 나타내려고 할 수 있습니다. 따라서 다음을 포함하는 이름을 가진 zip 파일 구성원 mytextfile 또한 이름에 / 문자를 포함하고 이 경로가 구성될 때
save text file(path1 || lst[k] || "_" || dirlist[l] , text);
dirlist에는 "test/test/mytextfile.txt"가 포함되어 있으며 연결의 결과 경로 이름은 아마도 컴퓨터에 존재하지 않을 것입니다.
word() 또는 words() 함수는 경로 부분을 분리하는 데 유용할 수 있습니다.
ZIP 파일의 하위 디렉토리에서 txt 파일을 읽고 저장안녕,
누군가 도울 수 있습니까? 나는 많은 것을 시도했지만 여전히 실패합니다.
zip 폴더의 하위 디렉토리 아래에 있는 특정 txt 파일을 찾기 위해 zip 폴더 목록을 순환하려고 했습니다. zip 폴더에 파일 목록을 가져오면 txt 파일이 subdirector/mytxtfile_123.log로 표시됩니다. 아래는 내 스크립트이지만 txt 파일을 다운로드하지 못했습니다. "시스템이 지정된 경로를 찾을 수 없습니다"라고 불평하는 IO 문제가 있습니다. 파일 목록을 가져올 때 "\"가 "/"로 바뀌었는지 궁금합니다. 파일을 하위 디렉토리나 zip으로 가져오는 깔끔한 방법이 있습니까?
path == path where all zip folder located;
path1 == path where txt file going to save;
lst = {the list of the zip folders};
for (k=1, k <=N items(lst), k++,
Try(
za = open(path||lst[k], zip);
dirlist = za << dir;
for (l=1, l<=N Items(dirlist), l++,
If (Contains(dirlist[l], "mytxtfile_"),
text = za << read(dirlist[l]);
save text file(path1||lst[k]||"_"||dirlist[l],text);
);
)
,
print (lst[k] || "fail to open");
Throw();
);
);품질 및 프로세스 엔지니어링