浏览每个 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);