각 zip 폴더로 이동하여 파일 이름 목록을 가져오고 단일 테이블에 저장하십시오.안녕하세요,
도움이 필요합니다. jsl을 작성하려고 했지만 막혔고 누군가 여기에서 나를 안내해 주기를 바랍니다.
10000개 이상의 압축 폴더가 포함된 디렉토리가 있습니다. 각 압축 폴더에는 100개 이상의 파일이 있습니다.
압축된 폴더를 압축 해제하지 않고 압축을 풀지 않고 아래 작업을 수행하고 싶습니다.
1) 각 압축 폴더의 이름을 가져옵니다.
2) 개별 압축 폴더에 들어갑니다.
3) 압축된 폴더에 파일을 가져옵니다.
4) 테이블에서 1열에 압축 폴더 이름을 추가하고 2열에 파일 이름을 추가합니다.
5) 모든 작업이 완료될 때까지 다음 압축 폴더에 대해 1)-4) 단계를 반복합니다.
미리 감사드립니다
데이터 테이블스크립팅Re: 각 zip 폴더로 이동하여 파일 이름 목록을 가져오고 단일 테이블에 저장합니다.상당히 새로운 Uncharted 블로그 게시물을 확인하십시오. ZIP에서 선택한 CSV의 MFI . 이에 접근하는 방법에 대해 꽤 좋은 아이디어를 얻을 수 있습니다.
Scripting Index에는 ZipArchive에 대한 문서도 있는 것 같습니다.

Re: 각 zip 폴더로 이동하여 파일 이름 목록을 가져오고 단일 테이블에 저장합니다.다음은 zip 파일을 처리한 이전 커뮤니티 항목을 사용하여 함께 던진 간단한 스크립트입니다.그것이 당신을 위해 작동하는지 확인하십시오.
Names Default To Here( 1 );
directory = Pick Directory( "Select Directory that contains the Zip files" );
folders = Files In Directory( directory );
dt = New Table( "Zip Files",
New Column( "Folder Name", character ),
New Column( "File Name", character )
);
For( i = 1, i <= N Items( folders ), i++,
If( Word( -1, folders[i], "." ) == "zip",
theFolder = Open( directory || folders[i], zip );
dirList = theFolder << dir;
For( k = 1, k <= N Items( dirList ), k++,
dt << add rows( 1 );
numRows = N Rows( dt );
dt:Folder Name[numRows] = folders[i];
dt:File Name[numRows] = dirList[k];
);
)
);
Re: 각 zip 폴더로 이동하여 파일 이름 목록을 가져오고 단일 테이블에 저장합니다.다음 코드로 시작할 수 있습니다.
NamesDefaultToHere(1);
myFolder = PickDirectory("Pick Folder", "$DESKTOP");
zipList = FilesInDirectory(myFolder);
col1Vals = {};
col2Vals = {};
for(z=1, z<=NItems(zipList), z++,
filePath = myFolder||"/"||zipList[z];
thisZIP = Open(filePath, zip);
filesInThisZIP = thisZIP << dir;
for(f=2, f<=NItems(filesInThisZIP), f++,
if(NItems(Words(filesInThisZIP[f], "/")) == 2,
InsertInto(col1Vals, zipList[z]);
InsertInto(col2vals, filesInThisZIP[f]);
);
);
Close(thisZIP, noSave);
);
NewTable("Folder of ZIP Files",
NewColumn("Folder Name", Character, Values(col1Vals)),
NewColumn("File Name", Character, Values(col2Vals))
);Re: 각 zip 폴더로 이동하여 파일 이름 목록을 가져오고 단일 테이블에 저장합니다.안녕하세요, 파일 이름 목록을 얻을 수 있습니다. 각 압축 폴더의 특정 문자열을 포함하는 단계 열기 파일을 추가하고 나중에 모두 하나의 테이블로 연결하고 싶습니다. 스크립트를 아래와 같이 수정했지만 해당 파일이 열리지 않는 것 같습니다(전체 6000개 이상 있음). 파일 이름에 "rag"가 포함된 6000개 이상의 파일은 ".log" 유형 파일입니다.
6000개 이상의 파일을 모두 연 다음 연결만 하지 않고 파일을 동일한 테이블에 계속 추가할 수 있는 방법이 있습니까?
경로 ="C:\사용자\데스크탑\테스트\";
폴더 = 디렉토리의 파일(경로);
테이블={};
For( i = 1, i <= N Items( 폴더 ), i++,
If( Word( -1, 폴더[i], "." ) == "zip",
theFolder = 열기(경로 || 폴더[i], zip );
dirList = 폴더 << dir;
For( k = 1, k <= N Items( dirList ), k++,
만약 (contains(dirlist[i], "rag"),
rag_file = 폴더 << read(dirList[i], format(blob));
열기(경로 || 폴더[i] ||"\" || rag_file);
삽입 대상(테이블, 데이터 테이블(경로 || 폴더[i]));
);
);
);
);
dt = 새 테이블("all_rag_files");
dt << concatenate(테이블, 첫 번째 테이블에 추가( 1 ), 소스 열 생성);