各zipフォルダーを調べて、そこからファイル名のリストを取得し、単一のテーブルに保存しますやあ、
ここで助けが必要です。 私はjslを書き込もうとしましたが、行き詰まり、誰かが私をここに案内してくれることを願っています。
10000以上のzipフォルダーを含むディレクトリがあります。 各zipフォルダーには100以上のファイルがあります。
zipフォルダーを解凍せずに解凍せずに以下のタスクを実行したいと思います。
1)各zipフォルダーの名前を取得します。
2)個々のzipフォルダーに移動します。
3)zipフォルダー内のファイルを取得します。
4)テーブルで、zip形式のフォルダー名を列1に追加し、そのファイル名を列2に追加します。
5)すべてが完了するまで、次のzipフォルダーに対して手順1)〜4)を繰り返します。
前もって感謝します
データ表スクリプティングRe:各zipフォルダーを調べて、そこからファイル名のリストを取得し、単一のテーブルに保存しますかなり新しい未知のブログ投稿をチェックしてください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フォルダーを調べて、そこからファイル名のリストを取得し、単一のテーブルに保存しますこんにちは、ファイル名のリストを取得できました。 各zipフォルダーからの特定の文字列を含むステップオープンファイルを追加し、後ですべてを1つのテーブルに連結したいと思います。 以下のようにスクリプトを変更しましたが、それらのファイルを開いていないようです(全部で6000以上あります)。ファイル名に「rag」が含まれている6000以上のファイルは、「。log」タイプのファイルです。
6000以上のファイルをすべて開いてから連結することなく、同じテーブルにファイルを追加し続ける方法はありますか?
path = "C:\ Users \ Desktop \ test \";
フォルダ=ディレクトリ内のファイル(パス);
テーブル= {};
For(i = 1、i <= N Items(folders)、i ++、
If(Word(-1、folders [i]、 "。")== "zip"、
theFolder = Open(path || folder [i]、zip);
dirList = theFolder << dir;
For(k = 1、k <= N Items(dirList)、k ++、
If(contains(dirlist [i]、 "rag")、
rag_file = theFolder << read(dirList [i]、format(blob));
Open(path || folder [i] || "\" || rag_file);
Insert Into(tables、data table(path || folder [i]));
);
);
);
);
dt =新しいテーブル( "all_rag_files");
dt << concatenate(tables、最初のtable(1)に追加、ソース列を作成);