瀏覽每個 zip 文件夾以從中獲取文件名列表並保存在一個表中你好,
我需要一些幫助。 我試圖編寫 jsl,但我被卡住了,希望有人能在這裡指導我。
我有一個包含 10000 多個壓縮文件夾的目錄。 每個壓縮文件夾都有 100 多個文件。
我想在不解壓縮壓縮文件夾的情況下執行以下任務。
1) 獲取每個壓縮文件夾的名稱。
2)進入單獨的壓縮文件夾。
3) 獲取壓縮文件夾中的文件。
4) 在表格中,添加第 1 列中的壓縮文件夾名稱和第 2 列中的文件名。
5) 對下一個壓縮文件夾重複步驟 1)-4),直到全部完成。
提前致謝
數據表腳本編寫回复:瀏覽每個 zip 文件夾以從中獲取文件名列表並保存在單個表中查看相當新的神秘海域博文來自 ZIP 中選定 CSV 的 MFI . 它可能會提供一些很好的想法如何解決這個問題。
Scripting Index 似乎也有關於 ZipArchive 的文檔:

回复:瀏覽每個 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];
);
)
);
回复:瀏覽每個 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))
);回复:瀏覽每個 zip 文件夾以從中獲取文件名列表並保存在單個表中您好,我可以獲取文件名列表。 我想添加包含每個壓縮文件夾中特定字符串的步驟打開文件,然後將所有文件連接到一個表中。 我修改了下面的腳本,但它似乎沒有打開這些文件(總共有 6000 多個)。文件名包含“rag”的 6000 多個文件是“.log”類型的文件。
有沒有一種方法可以將文件附加到同一個表中,而無需打開所有 6000 多個文件然後只連接?
路徑 ="C:\Users\Desktop\test\";
文件夾 = 目錄中的文件(路徑);
表={};
For( i = 1, i <= N Items( folders ), i++,
If( Word( -1, folders[i], "." ) == "zip",
theFolder = Open( path || folders[i], zip );
dirList = theFolder << dir;
For( k = 1, k <= N Items( dirList ), k++,
如果 (包含(dirlist[i], "rag"),
rag_file = theFolder << read(dirList[i], format(blob));
打開(路徑 || 文件夾 [i] ||"\" || rag_file);
插入(表格,數據表(路徑 || 文件夾[i]));
);
);
);
);
dt = 新表(“all_rag_files”);
dt << concatenate(tables, append to first table(1), create source column);