Pagina 1 di 1

[7zip] estrarre contenuto sottocartella

Inviato: gio gen 15, 2015 3:28 pm
da Emanuele
Salve a tutti gente :ciao

torno su questi lidi dopo parecchio tempo perchè nello scrivere un piccolo script .bat (erano millenni che non lo facevo... ho dovuto sudare per le cose più stupide :acch ) che automatizza un task ripetitivo, mi sono inceppato di fronte ad un problema che non riesco a risolvere...

In pratica ho un archivio compresso con all'interno una cartella contenente i files che mi interessano. Io dovrei quindi estrarre il contenuto di quella cartella (e solo il contenuto, mantenendo però inalterata tutta la struttura delle sottocartelle) in un precisa directory del disco, sovrascrivendo i file che vi sono contenuti.

Faccio un piccolo schemino che spero chiarisca meglio la situazione di partenza (sopra) e quella a cui dovrei arrivare (sotto)

Codice: Seleziona tutto

archivio.7z
|_ cartella_[parte variabile]
    |_ subfolder_1
    |_ subfoder_x
    |_ file_x


C:\nuova_dir\
    |_ subfolder_1
    |_ subfoder_x
    |_ file_x

Ora, io spero di sbagliarmi, ma possibile che la command line di 7zip non sia davvero in grado di fare un'operazione del genere? ... attualmente sono quindi arenato a questo comando, senza sapere come modificarlo per ottenere lo scopo:

Codice: Seleziona tutto

7za.exe x archivio.7z cartella_* -aoa
ho provato con lo switch -o ma se lo inserisco ignora totalmente il comando di estrarre solo la sottocartella .... avrei quindi pensato di ricorrere al comando "rn" ma non trovo nessuna documentazione e non saprei come usarlo


OK a questo punto a voi la palla ;)


PS
si potrei utilizzare altri comandi esterni a 7zip per rimaneggiare file e cartelle in un secondo momento, ma anche lì avrei alcune complicazioni e, se possibile, preferirei gestire tutto da 7zip

Re: [7zip] estrarre contenuto sottocartella

Inviato: gio gen 15, 2015 3:35 pm
da crazy.cat

Re: [7zip] estrarre contenuto sottocartella

Inviato: gio gen 15, 2015 3:47 pm
da Emanuele
ciao crazy.cat

già studiati ma niente da fare (o per lo meno io non capisco come potrei riuscire ad ottenere quello che voglio)... del comando rn invece non si trovano guide (è stato inserito solo nella beta)

Re: [7zip] estrarre contenuto sottocartella

Inviato: gio gen 15, 2015 10:10 pm
da hashcat
Non credo che sia possibile fare ciò di cui necessiti utilizzando il solo 7z tuttavia, visto che stai già utilizzando un script batch, puoi raggiungere il risultato desiderato aggiungendo qualche altra istruzione ed usufruendo dello strumento di sistema ROBOCOPY.

AVVERTIMENTO: Non ho testato in maniera approfondita i comandi quindi questi potrebbero non funzionare o, peggio ancora, eliminare dati utili. Prima dell'adozione, consiglio di effettuare qualche verifica preventiva.

Codice: Seleziona tutto

7z x "C:\blabla\nomearchivio.7z" -aoa "C:\destinazione" -r
PUSHD "C:\destinazione\cartella_*"
SET dname=%cd%
POPD
ROBOCOPY "%dname%" "%dname%"\.. /E /MOVE /NJH /NJS /NFL /NDL
P.S.: Ovviamente è necessario sostituire C:\blabla\nomearchivio.7z e C:\destinazione con percorsi validi.
P.S.2: Consiglio sempre di racchiudere i percorsi tra i doppi apici (") in maniera tale da non incappare in errori qualora i suddetti includessero spazi.

;)

Re: [7zip] estrarre contenuto sottocartella

Inviato: gio gen 15, 2015 11:09 pm
da Emanuele
ROBOCOPY è utilizzabile su tutte le versioni di Windows? Comunque per adesso avevo aggirato l'ostacolo grazie ad una serie di passaggi aggiuntivi (sposta la cartella vecchia, rinomina, risposta, ecc...) e all'uso di "Advanced BAT to EXE Converter"

Vediamo se con il tuo suggerimento riesco a migliorare la situazione ;)


resto tuttavia basito nell'aver scoperto che azioni tanto basilari (estrai il contenuto della cartella X in Y ) non vengano previste da 7zip :o

Re: [7zip] estrarre contenuto sottocartella

Inviato: ven gen 16, 2015 11:27 am
da hashcat
Emanuele ha scritto:ROBOCOPY è utilizzabile su tutte le versioni di Windows?
E' integrato nativamente da Windows Vista in su. Per le altre versioni (vecchie) è disponibile come componente esterno.
Emanuele ha scritto:Vediamo se con il tuo suggerimento riesco a migliorare la situazione ;)
Se ci saranno novità, sono curioso, tienimi informato.

:)

Re: [7zip] estrarre contenuto sottocartella

Inviato: sab gen 17, 2015 10:02 pm
da Emanuele
hashcat ha scritto:Se ci saranno novità, sono curioso, tienimi informato.
OK alla fine tra una modifica e l'altra, cambio di strumenti ecc, il problema ero riuscito ad aggirarlo. Probabilmente con il tuo suggerimento sarebbe venuto fuori un lavoro migliore ma non conoscendo la sintassi e come lavora ROBOCOPY alla fine ho deciso di non sbattermi per nulla visto che non ne valeva più la pena :-P (ma mi riservo di darci un'occhiata a mente serena... che non si sa mai e uno strumento più nella propria toolbox non fa mai male :approvo )

Se ti interessa invece vedere la schifezzuola che ho tirato fuori, ecco:

https://github.com/Emdek/otter/issues/661

Nel post ho già spiegato tutto quindi non vale la pena ripeterlo qui... se gli darai un'occhiata e avrai suggerimenti per migliorarlo io son sempre in ascolto ;)

nel frattempo :grazie

Re: [7zip] estrarre contenuto sottocartella

Inviato: sab gen 17, 2015 11:53 pm
da hashcat
Emanuele ha scritto:Se ti interessa invece vedere la schifezzuola che ho tirato fuori, ecco:

https://github.com/Emdek/otter/issues/661

Nel post ho già spiegato tutto quindi non vale la pena ripeterlo qui... se gli darai un'occhiata e avrai suggerimenti per migliorarlo io son sempre in ascolto ;)

nel frattempo :grazie
Appena possibile darò anch'io un'occhiata estesa al tuo script.

P.S.: xcopy è stato deprecato da Vista in su (ma è tuttora disponibile) in favore di Robocopy.

;)

Re: [7zip] estrarre contenuto sottocartella

Inviato: dom gen 18, 2015 10:54 am
da Emanuele
Oh non ne avevo idea... come detto era da anni che nemmeno mi interessavo più di queste cose e già riuscire a tirar fuori quello script è stato un gran risultato :P

Per eventuali futuri aggiornamenti allora provvederò di certo a sostituire xcopy con Robocopy