各 zip フォルダを調べてファイル名のリストを取得し、単一のテーブルに保存します。こんにちは、
ここで助けが必要です。jsl を書こうとしたのですが、行き詰まってしまいました。誰かが私を導いてくれることを願っています。
10000 個以上の圧縮フォルダーを含むディレクトリがあります。各圧縮フォルダーには 100 個以上のファイルがあります。
圧縮されたフォルダを解凍せずに、以下のタスクを実行したいと思います。
1) 各圧縮フォルダの名前を取得します。
2) 個別の圧縮フォルダーに入ります。
3) 圧縮されたフォルダー内のファイルを取得します。
4) 表の 1 列目に圧縮フォルダー名を追加し、2 列目にそのファイル名を追加します。
5) 次の圧縮フォルダーに対して、手順 1) ~ 4) を繰り返し、すべて完了します。
前もって感謝します
コンテンツの編成品質およびプロセスエンジニアリングRe: 各 zip フォルダーを調べてそこからファイル名のリストを取得し、単一のテーブルに保存しますこんにちは、ファイル名のリストを取得できました。 各 zip フォルダーから特定の文字列を含むステップ オープン ファイルを追加し、後ですべてを 1 つのテーブルに連結したいと考えています。 スクリプトを以下のように変更しましたが、それらのファイルを開けないようです(合計6000以上あります)。ファイル名に「rag」が含まれる 6000 以上のファイルは、「.log」タイプのファイルです。
6000以上のファイルをすべて開かずに、連結するだけで同じテーブルにファイルを追加し続ける方法はありますか?
パス ="C:\Users\Desktop\test\";
フォルダー = ディレクトリ内のファイル( path );
テーブル={};
For( i = 1, i <= N Items( フォルダー )、i++、
If( Word( -1, フォルダー[i], "." ) == "zip",
theFolder = Open( パス || フォルダー[i], zip );
dirList = theFolder << dir;
For( k = 1, k <= N Items( dirList ), k++,
(contains(dirlist[i], "rag")) の場合、
rag_file = theFolder << read(dirList[i], format(blob));
Open(パス || フォルダー[i] || "\" || rag_file);
Insert Into(テーブル, データ テーブル(パス || フォルダー[i]));
);
);
);
);
dt = 新しいテーブル ("all_rag_files");
dt << concatenate(tables, 最初の table(1) に追加, ソース列を作成);
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 ファイルを扱った以前のコミュニティ エントリを使用して私がまとめた簡単なスクリプトです。それがうまくいくかどうかを確認してください。
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 フォルダーを調べてそこからファイル名のリストを取得し、単一のテーブルに保存しますかなり新しいアンチャーテッドのブログ投稿をチェックしてくださいZIP 内の選択した CSV からの MFI 。 これにどのようにアプローチするかについて、非常に良いアイデアが得られるかもしれません。
Scripting Index には、ZipArchive に関するドキュメントもあるようです。
