Questione : aprire la chiusura lampo di, copia selettiva delle lime di TXT


Vedere prego le lime allegate.
Devo procedare regolarmente le lime di chiusura lampo incomming che hanno sempre soltanto una lima di TXT in loro.
Determinati mesi là sono tre lime di chiusura lampo, altri mesi là sono cinque.
Tenendo questo presente, voglio fare quanto segue con uno scritto, wiothout esso che si preoccupa se ci sono 3.4 o 5 chiudono con chiusura a lampo in un indice:

osservare “in C:\incoming\1„, “C:\incoming\2„, “C:\incoming\3„, agli indici di n…
(non confondere il numero degli indici all'interno di ricevuto come che cosa numero delle lime di chiusura lampo là è)
Lo scritto esaminerà nell'ordine numerico sia gli indici che le lime di chiusura lampo.
Le lime di chiusura lampo saranno denominate sempre, per esempio week1.zip, week2.zip, week3.zip, week4.zip

Su una chiusura lampo dalla base della chiusura lampo, aprire la chiusura lampo di ad una zona del temp, quindi rimuovere la linea 1 (che è sempre la stessa) allora copiano il soddisfare a C:\output\final.txt.
Ciò è continua attraverso tutti gli indici e lime di chiusura lampo nell'ordine. I dati per TUTTO IL chiudono con chiusura a lampo si aggiungono alla stessa lima final.txt

Grazie

C
Collegamenti:
 
 
 
 
 
 
 
 

Risposta : aprire la chiusura lampo di, copia selettiva delle lime di TXT

Qui è una versione che dovrebbe funzionare per 7zip.

~bp
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
@echo fuori
il rem definisce i percorsi ai dispositivi di piegatura ed alle lime per funzionare con
regolare BaseDir= c:\a\m\input
regolare TempDir= c:\a\m\temp
regolare FinalFile= c:\a\m\output\final.txt
regolare UnZipExe= c:\program files\7 - la chiusura lampo \ 7z.exe
 
il rem se aprire la chiusura lampo della zona di lavoro non esiste la genera
se non esistono “%TempDir% \„ mkdir “%TempDir%„

il rem se l'archivio di uscita esiste, lo cancella
se esiste il del “%FinalFile%„ “di %FinalFile%„
 
il rem collega attraverso i subfolders 1 - 300, controllando se escono
per /L %%A dentro (1, 1, 300) fare (
  se esistono “%BaseDir% \ %%A \„ (
    il rem proceda tutte le lime di WEEK*.ZIP in questo dispositivo di piegatura (nell'ordine nome)
    per /F “il tokens=*„ %%B dentro (“dir /b /a-d /on “%BaseDir% \ %%A \ week*.zip„ ") fare (
      il rem apre la chiusura lampo della lima di TXT in questa CHIUSURA LAMPO al dispositivo di piegatura del temp
      >NUL„ di x “%BaseDir% \ %%A \ %%~nB.zip„ %%~nB.txt - y - o " %TempDir%„ “di %UnZipExe%
      il rem aggiunge questa lima di TXT alla lima fusa del uoutput (che salta qualsiasi linea dell'intestazione)
      findstr /I /V /C: “lista degli animali ho veduto questa settimana„ “%TempDir% \ %%~nB.txt„ >> " %FinalFile%„
      il rem rimuove questa lima di TXT dal dispositivo di piegatura del temp
      del “%TempDir% \ %%~nB.txt„
    )
  )
)
Altre soluzioni  
 
programming4us programming4us