PDA

View Full Version : Software per ordine decrescente grandezza file


patrick40
23-05-2009, 09:30
Ciao a tutti,

avrei bisogno di un software che vada bene sia per XP che per Vista, e che mi permetta di selezionare alcune cartelle sparse nel PC (alcune delle queli con sottocartelle e sotto-sotto cartelle), e che mi ordini in senso (almeno) decrescente della dimensione TUTTI i file (indipendentemente dalla cartella in cui si trovano).

grazie mille a chi mi aiuterà!

:)

Styb
23-05-2009, 09:55
Prova FileBoss, che oltre a tante altre funzioni ha anche quella che cerchi, vedi qui http://www.theutilityfactory.com/summaries/find-files-by-size.htm
:)

patrick40
23-05-2009, 18:09
Grazie Styb, il software da te indicato fa quello che desidero.

Non capisco però se c'è un modo per esportare il risultato dell'operazione in un formato meno indecente e meno caotico di quanto non sia il .txt ...

Styb
24-05-2009, 11:17
Già...una lista di file rimane una lista.
Alcuni accorgimenti utili:
1) Seleziona solo le colonne che ti servono
2) Sposta a sinistra la colonna della dimensione dei file
3) Seleziona "Tab delimited" tra le opzioni di esportazione
4) Togli "A capo automatico" dal menù Formato del Blocco note.

Ad. es:
70795

patrick40
24-05-2009, 12:34
Grazie ancora per i consigli, Styb; purtroppo ho altri software che esportano cartelle filtrate in altri modi per altri usi, e permettono anche il salvataggio in formato html formattato, in modo da tenere ordinati e incolonnati i vari file.

Ho provato seguendo i tuoi consigli, ma il risultato finale è ben lontano da quello che si vede nella finestra del programma. Io poi vorrei che ogni riga cominciasse con un nuovo file (un solo file per ogni riga, con i dati da me selezionati, tutti incolonnati e spaziati), ma proprio non ci riesco: in una riga un file, in altre due (con il secondo parte nella riga seguente, ecc....).

Proverò ancora un po' ad armeggiare, in alternativa prenderò degli snapshot parziali delle varie schermate, che poi incollerò fra loro in un unico .jpg.

In ogni caso ancora grazie, anche perchè oltre al programma da te segnalato non ho trovato nulla (strano, pensavo fosse una necessità non proprio assurda ....)

:)

Styb
24-05-2009, 14:16
Grazie ancora per i consigli, Styb; purtroppo ho altri software che esportano cartelle filtrate in altri modi per altri usi, e permettono anche il salvataggio in formato html formattato, in modo da tenere ordinati e incolonnati i vari file.

Ho provato seguendo i tuoi consigli, ma il risultato finale è ben lontano da quello che si vede nella finestra del programma. Io poi vorrei che ogni riga cominciasse con un nuovo file (un solo file per ogni riga, con i dati da me selezionati, tutti incolonnati e spaziati), ma proprio non ci riesco: in una riga un file, in altre due (con il secondo parte nella riga seguente, ecc....).

Proverò ancora un po' ad armeggiare, in alternativa prenderò degli snapshot parziali delle varie schermate, che poi incollerò fra loro in un unico .jpg.

In ogni caso ancora grazie, anche perchè oltre al programma da te segnalato non ho trovato nulla (strano, pensavo fosse una necessità non proprio assurda ....)

:)

Boh...a me non mette due file nella stessa riga: hai tolto a capo automatico nel blocco note?

Comunque, prova a selezionare queste opzioni
http://g.imagehost.org/t/0019/options1.jpg (http://g.imagehost.org/view/0019/options1)

ed esporta con estensione csv
http://g.imagehost.org/t/0016/options2.jpg (http://g.imagehost.org/view/0016/options2)

Poi apri con Calc di OpenOffice
http://g.imagehost.org/t/0816/result1.jpg (http://g.imagehost.org/view/0816/result1)

da cui puoi anche esportare in formato html
http://g.imagehost.org/t/0215/result2.jpg (http://g.imagehost.org/view/0215/result2)

Si, bisogna armeggiare un pochino! :D

patrick40
24-05-2009, 19:16
ancora grazie per la pazienza, ho seguito tutti i tuoi passi, ma ancora non ci siamo .... nel senso che se apro con Excel il file .csv, me lo apre con tutte le varie righe nella colonna A, e non ordinate come vedo da te.

Se cerco poi con Excel di separare - con l'opzione "testo in colonne" i vari dati (nomi in A, grandezza in B, percorso in C) e uso come separatore la virgola, succede che i nomi dei file che hano una virgola me li divide e sballa l'incolonnamento ....)

Uffa... per ora faccio gli shots dello schermo ...

Styb
24-05-2009, 23:05
Se cerco poi con Excel di separare - con l'opzione "testo in colonne" i vari dati (nomi in A, grandezza in B, percorso in C) e uso come separatore la virgola, succede che i nomi dei file che hano una virgola me li divide e sballa l'incolonnamento ....)

Beh...nelle opzioni di esportazioni vedi di usare come separatore il tab!! :D

http://g.imagehost.org/t/0045/Exce.jpg (http://g.imagehost.org/view/0045/Exce)

patrick40
25-05-2009, 09:52
FATTO!

Grazie per la mega-pazienza e perseveranza ... in effetti non è proprio immediato, ma per qualche volta si può fare ! (eppoi o così o niente, per cui mi adatto!)

:D

john_revelator
25-05-2009, 22:38
Leggo solo ora la discussione. Anche se hai già risolto ti propongo una soluzione alternativa che fa uso della powershell.

La puoi scaricare a questo indirizzo

http://www.microsoft.com/windowsserver2003/technologies/management/powershell/download.mspx

prima di procedere alla sua installazione, nel caso non lo abbia già, devi anche scaricare il framework .NET 2.0 affinchè funzioni

http://www.microsoft.com/downloads/details.aspx?displaylang=it&FamilyID=0856eacb-4362-4b0d-8edd-aab15c5e04f5

Una volta installata la richiami digitando powershell da esegui.

Per risolvere il tuo problema userei questo comando:


gci c:,f: -recurse | ? {-not $_.psiscontainer} | Sort-Object length -desc | Select-Object name,length,@{name='Percorso'; Expression={split-Path $_.fullname} } | export-Csv "c:\elenco.csv" -notypeinformation -encoding "utf8"


Te lo spiego brevemente: gci è l'abbraviazione di get-childitem ed è l'equivalente del vecchio dir. Nel mio esempio verifico i file nelle unità c ed f. Lo switch -recurse serve per ciclare le unità in maniera ricorsiva. Il punto di domanda è la forma contratta del where e tramite {-not $_.psiscontainer} specifichi che vuoi cercare solo i file e non le cartelle. Tramite sort ordini per dimensione in ordine decrescente. A questo punto recuperi di tali file il nome, la dimensione e con il comando split-path il percorso completo escludendo il nome del file stesso. Infine reindirizzi quanto ottenuto su un file csv tramite l'apposito comando.

P.S. Nel caso voglia avere la dimensione espressa in mega sostituisci il length della select con

@{name='Dimensione'; Expression={$_.length/1MB}}

mentre se vuoi che vengano elencati anche i file nascosti e di sistema, aggiungi al comando gci oltre allo switch -recurse anche lo switch -force.

Come ultima cosa, visto che può risultare scomodo scrivere degli script tramite shell, ti consiglio di scaricarti l'editor powershell analyzer

http://www.powershellanalyzer.com/

che non necessita nemmeno di installazione e che semplifica notevolmente il lavoro. :)

patrick40
26-05-2009, 09:57
Grazie anche a te john_revelator per il consiglio ... ma ho già fatto ieri quello che mi serviva e per ora sono a posto.

Terrò presente anche il tuo metodo per il futuro, anche se mi pare "un po' troppo professionale" per le mie scarse conoscenze informatiche!

;)

Styb
26-05-2009, 12:42
Leggo solo ora la discussione. Anche se hai già risolto ti propongo una soluzione alternativa che fa uso della powershell.

La puoi scaricare a questo indirizzo

http://www.microsoft.com/windowsserver2003/technologies/management/powershell/download.mspx

prima di procedere alla sua installazione, nel caso non lo abbia già, devi anche scaricare il framework .NET 2.0 affinchè funzioni

http://www.microsoft.com/downloads/details.aspx?displaylang=it&FamilyID=0856eacb-4362-4b0d-8edd-aab15c5e04f5

Una volta installata la richiami digitando powershell da esegui.

Per risolvere il tuo problema userei questo comando:


gci c:,f: -recurse | ? {-not $_.psiscontainer} | Sort-Object length -desc | Select-Object name,length,@{name='Percorso'; Expression={split-Path $_.fullname} } | export-Csv "c:\elenco.csv" -notypeinformation -encoding "utf8"
-CUT-

Mi reintrometto nel 3d per chiederti, essendo un GUI-dipendente, come si può modificare il comando per includere i nomi dei file che contengono spazi o virgole. Grazie!

john_revelator
26-05-2009, 13:16
Mi reintrometto nel 3d per chiederti, essendo un GUI-dipendente, come si può modificare il comando per includere i nomi dei file che contengono spazi o virgole. Grazie!

Ciao. Non mi è chiara la domanda. Il comando gci recupera tranquillamente i nomi dei file che contengono sia spazi che virgole. O vuoi recuperare SOLO i file il cui nome contiene o spazi o virgole? :fagiano:

Styb
26-05-2009, 13:55
Ciao. Non mi è chiara la domanda. Il comando gci recupera tranquillamente i nomi dei file che contengono sia spazi che virgole. O vuoi recuperare SOLO i file il cui nome contiene o spazi o virgole? :fagiano:

Si, non sono stato chiaro. Volevo sapere se si può modificare la riga di comando in modo tale che quando si apre il file con excel si possa incolonnare in modo corretto anche i nomi dei file che contengono spazi o virgole; evitare quindi che il nome venga spezzato in più colonne.

john_revelator
26-05-2009, 22:52
Mi avevi fatto sorgere il dubbio ma ho provato e non si pone il problema. Una volta generato il csv se vai a importarlo su più colonne in un file di excel, i dati vengono incolonnati correttamente. :)

Styb
27-05-2009, 10:47
In effetti il problema si pone con Excel e non con OpenOffice:
sarà un problema della versione 2003?

john_revelator
27-05-2009, 11:14
In effetti il problema si pone con Excel e non con OpenOffice:
sarà un problema della versione 2003?

Puoi spiegare meglio che problema hai riscontrato?
In seguito alla tua domanda ho provato a creare rapidamente una cartella nominando alcuni file con diverse virgole. Ho eseguito il comando che ho consigliato sopra e poi ho provveduto all'importazione su excel (vers.office xp) del file csv. Non ho avuto alcun problema.

Styb
27-05-2009, 11:32
Ho fatto una prova e questo è quanto compare nel file csv:

Name,Length,Percorso
"nomefile,con,virgole.txt",54277,D:\prova
"nome file con spazi.txt",53689,D:\prova
nomefile.txt,13082,D:\prova

Con open office nessun problema, mentre in Excel 2003, non riesco a incolonnare in modo corretto.

john_revelator
27-05-2009, 11:47
Ho appena provato a mettere in una cartella tre file txt con i nomi che hai indicato.

Una volta creato il csv ho aperto excel, sono andato su Dati => Importa dati esterni => importa dati e ho selezionato il mio csv.
A questo punto mi è apparsa la finestra con la dicitura "scegliere il tipo di file che meglio si adatti ai dati" e ho lasciato selezionata la voce delimitati. Sono andato avanti e come delimitatore ho messo la virgola rimuovendo la spunta da tabulazione. Già nell'anteprima vedo i dati correttamente incolonnati, così come se procedo e li importo.

Se non dovessi risolvere per curiosità vedrò a casa di provare su excel 2003.

P.S. Anche qui in ufficio ho excel versione office xp.

Styb
27-05-2009, 12:44
Stranamente il problema compare solo se apro il file cliccando dalla finestra di explorer e poi selezionando Dati->Testo in colonne:

http://f.imagehost.org/t/0517/Clip02.jpg (http://f.imagehost.org/view/0517/Clip02)

mentre se apro il file in excel con file->apri oppure come hai fatto tu con Dati->Importa dati esterni, il problema scompare:

http://f.imagehost.org/t/0598/Clip01.jpg (http://f.imagehost.org/view/0598/Clip01)

Sarà un "piccolo" bug mio oppure di excel.

Grazie e saluti.