passare attraverso ogni cartella zip per ottenere l'elenco dei nomi dei file da essa e salvarli in una singola tabellaCIAO,
Ho bisogno di aiuto qui. Ho provato a scrivere il jsl ma sono rimasto bloccato e spero che qualcuno possa guidarmi qui.
Ho una directory che contiene più di 10000 cartelle compresse. Ogni cartella compressa contiene più di 100 file.
Voglio svolgere l'attività seguente senza decomprimere SENZA DECOMPRESSARE le cartelle compresse.
1) ottenere il nome di ciascuna cartella compressa.
2) entrare nella cartella compressa individuale.
3) ottenere i file nella cartella compressa.
4) in una tabella, aggiungere il nome della cartella compressa nella colonna 1 e il nome dei suoi file nella colonna 2.
5) ripetere i passaggi da 1) a 4) per la successiva cartella compressa, fino al completamento dell'operazione.
grazie in anticipo
Organizzazione dei contenutiIngegneria della qualità e dei processiRe: scorrere ogni cartella zip per ottenere l'elenco dei nomi dei file da essa e salvare in un'unica tabellaCiao, sono in grado di ottenere l'elenco dei nomi dei file. Voglio aggiungere il file di apertura del passaggio che contiene una stringa specifica da ciascuna cartella compressa e successivamente concatenare tutto in un'unica tabella. Ho modificato lo script come di seguito, ma sembra che non si aprano quei file (ce ne sono oltre 6000). gli oltre 6000 file che il nome file contiene "rag" sono file di tipo ".log".
c'è un modo per continuare ad aggiungere il file nella stessa tabella senza dover aprire tutti gli oltre 6000 file e quindi concatenare?
percorso ="C:\Utenti\Desktop\test\";
cartelle = File nella directory (percorso);
tabelle={};
For( i = 1, i <= N elementi( cartelle ), i++,
If( Word( -1, folders[i], "." ) == "zip",
theFolder = Apri(percorso || cartelle[i], zip );
dirList = theFolder << dir;
For( k = 1, k <= N elementi( dirList ), k++,
Se (contiene(dirlist[i], "rag"),
rag_file = theFolder << read(dirList[i], format(blob));
Open(percorso || cartelle[i] ||"\" || rag_file);
Inserisci in(tabelle, tabella dati(percorso || cartelle[i]));
);
);
);
);
dt = Nuova tabella ("all_rag_files");
dt << concatenate(tabelle, aggiungi alla prima tabella( 1 ), crea la colonna sorgente);
Re: scorrere ogni cartella zip per ottenere l'elenco dei nomi dei file da essa e salvare in un'unica tabellaQuesto codice potrebbe iniziare:
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: scorrere ogni cartella zip per ottenere l'elenco dei nomi dei file da essa e salvare in un'unica tabellaEcco un semplice script che ho messo insieme, utilizzando le voci della community precedenti che trattavano i file zip.Guarda se va bene per te.
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: scorrere ogni cartella zip per ottenere l'elenco dei nomi dei file da essa e salvare in un'unica tabellaDai un'occhiata al nuovo post sul blog di Uncharted MFI da CSV selezionati in un ZIP . Potrebbe dare alcune buone idee su come affrontare questo problema.
Scripting Index sembra avere anche documentazione su ZipArchive:
