Stampare elenco file

Discussioni su ogni genere di applicazione per Windows 9x/ME/NT/2000/XP.

Moderatore: Staff forum IlSoftware.it

Rispondi
Mazzogp
Junior Software
Junior Software
Messaggi: 110
Iscritto il: 09 lug 2013 18:09

Stampare elenco file

Messaggio da Mazzogp »

Anni addietro esattamente in data 23/04/2014 Michele Nasi pubblicava un articolo "Stampare elenco dei file di una cartella", l'articolo molto interessante mi ha aiutato a risolvere molti problemi e la soluzione proposta era davvero facile ed utile (uso del menù contestuale).
Me ne sono servito (e continuo a servirmene ancora oggi) per avere l'elenco dei file delle fotografie salvate, mi ha consentito di avere sotto mano l'elenco di tutti i file e che mi permette poi di fare altre utili elaborazioni.
Era sufficiente fare clic col mouse dx e utilizzare il comando "Invia a".
Oggi tuttavia ho il problema di poter ottenere la stessa cosa ma anzichè leggere una cartella vorrei leggere un intero hard disk ed ottenere lo stesso elenco di tutti i file contenuti.
Tuttavia se faccio clic col dx del mouse sul drive (supponiamo di un hard disk esterno) interessato non mi compare nell'elenco la voce "Invia a". Esiste un modo per superare il problema? Certo dovrei procedere cartella per cartella ma l'operazione diventerebbe davvero impegnativa e frammentaria.
Allo scopo ho provato ad utilizzare l'utility TreeSize Free, certo a video fornisce informazioni molto utili ma non esporta l'elenco e comunque non in txt.
Sono quindi a chiedere se qualche lettore è a conoscenza di qualche utility idoneo a risolvere il mproblema evidenziato oppure se esistono indicazioni utili per ottenere il risultato di cui sopra.
Ringrazio sin da ora per suggerimenti utili.

Avatar utente
Ruoti51
Active Software Plus
Active Software Plus
Messaggi: 525
Iscritto il: 16 dic 2018 16:25
Località: Arezzo

Re: Stampare elenco file

Messaggio da Ruoti51 »

Hai provato da finestra dos se il comando "dir" con tutte le sue numerose opzioni può fare al caso tuo?
In pratica se dai il comando:
dir d:\*.* /s > e:\prova\lista.txt
Ti salva una lista di tutti files contenuti nel disco d: e in tutte le sue subdirectory (/s) in un file che si chiamerà lista.txt sotto la cartella prova nel disco e:
Se dai il comando dir /? vedi un elenco delle varie possibilità di visualizzazione (prova /b /w) e sostituendo o aggiungendo alcuni parametri puoi affinare la ricerca. Ad es. se invece di *.* (tutti i files) metti *.doc ti cercherà solo i files con estensione .doc, se invece metterai *.doc?, ti cercherà i files che hanno qualsiasi carattere dopo ,doc, quindi anche i .docx.
Puoi vedere se fa al tuo caso dando solo il comando: dir d:\*.* /s che non salva nulla. Ovviamente al posto di d:\ dovrai mettere la lettera del disco che ti interessa.
Ogni poesia è misteriosa; nessuno sa interamente ciò che gli è stato concesso di scrivere.
J.L. Borges

Mazzogp
Junior Software
Junior Software
Messaggi: 110
Iscritto il: 09 lug 2013 18:09

Re: Stampare elenco file

Messaggio da Mazzogp »

Ti ringrazio molto del suggerimento che mi studierò e proverò ad applicarlo.
I vecchi comandi DOS sono sempre utilissimi.
Saprò dire come e se funziona, ok

Avatar utente
Ruoti51
Active Software Plus
Active Software Plus
Messaggi: 525
Iscritto il: 16 dic 2018 16:25
Località: Arezzo

Re: Stampare elenco file

Messaggio da Ruoti51 »

Se il sistema ti va bene, per velocizzare puoi sempre fare un file .bat, eventualmente con variabili da specificare, per es. puoi di volta in volta scegliere da quale disco o da quale cartella estrarre le informazioni che desideri. Inoltre puoi mettere un collegamento alla cartella send to e ritrovartela sul menù invia a (menù che però non compare se parti dalla radice del disco, non ho mai capito il perché).
Se non sai come fare e mi scrivi esattamente quali sono le tue esigenze posso fartelo io.
Ogni poesia è misteriosa; nessuno sa interamente ciò che gli è stato concesso di scrivere.
J.L. Borges

Mazzogp
Junior Software
Junior Software
Messaggi: 110
Iscritto il: 09 lug 2013 18:09

Re: Stampare elenco file

Messaggio da Mazzogp »

Il metodo suggerito funziona benissimo, mi sono costruito un file bat per velocizzare, ho dovuto costruire diversi file bat ognuno per singolo drive, certo che con il tuo ragionamento delle variabili sarebbe fantastico ma come si fa?
Ti ringrazio dell'aiuto, ciao

Avatar utente
Ruoti51
Active Software Plus
Active Software Plus
Messaggi: 525
Iscritto il: 16 dic 2018 16:25
Località: Arezzo

Re: Stampare elenco file

Messaggio da Ruoti51 »

Nel pomeriggio lo faccio e te lo trascrivo.
Conosci come usare i caratteri jolly * e ?, se non sai come usarli te lo spiego, così puoi usare al meglio il .bat che ti preparo.
Ogni poesia è misteriosa; nessuno sa interamente ciò che gli è stato concesso di scrivere.
J.L. Borges

Avatar utente
Ruoti51
Active Software Plus
Active Software Plus
Messaggi: 525
Iscritto il: 16 dic 2018 16:25
Località: Arezzo

Re: Stampare elenco file

Messaggio da Ruoti51 »

Questo . bat ti permetterà di cercare qualsiasi file in qualsiasi directory. Per fare questo puoi avvalerti dei caratteri jolly. Funziona così:
La prima cosa che ti compare è una richiesta se vuoi cercare o terminare il .bat, digiterai il numero giusto (non c’è bisogno di dare invio). La scelta “Termina” la metto sempre nel caso il file fosse stato mandato per errore.
Dopo che avrai pigiato 1 ti comparirà la richiesta "Specificare percorso e tipologia files... " dove di seguito dovrai inserire dove e cosa cercare avvalendoti se vuoi dei caratteri jolly. In pratica * serve per qualsivoglia carattere e per un numero indefinito di caratteri, ti faccio un esempio, digitando d:\*windows*.* cercherai nel disco d:\ tutti i files che contengono al loro interno la parola windows in qualsiasi posizione, e qualsiasi sia la sua estensione (.iso. exe, .doc ecc.), digitando invece d:\*windows*.??g, limiterai la ricerca ai file che hanno un’estensione di 3 caratteri e che finisce con g. Ogni ? serve per specificare un singolo carattere, quindi in questo caso per esempio cercherà i .jpg ed anche i .png, ma non i .jpeg perché hanno 4 caratteri. Ovviamente una volta digitato il comando giusto darai invio. Alla tua intuizione e fantasia scoprire le numerose combinazioni che ti permetteranno di velocizzare la ricerca.
La seconda richiesta sarà "Specificare dove salvare e nome file... ", qui non userai caratteri jolly (che non servono), ma digiterai il percorso e il nome del file dove verrà salvato il report, per esempio: d:\archivio\lista. Non digitare l’estensione del file, poiché il .txt verrà aggiunto in seguito. Il file in questo caso si chiamerà lista.txt (puoi chiamarlo come ti pare, ma senza aggiungere estensione) e verrà aperto appena terminato il processo in modo da controllare che sia giusto, ovviamente lo troverai salvato nella cartella specificata.
Il comando dir ha delle opzioni che a mio parere sono le migliori per un report di ricerca; sono: /ong /n /b /s, puoi eventualmente eliminare quella che non ti serve o aggiungerne altre. Dando da finestra dos il comando dir /? puoi vedere tutte le possibilità.
Le parti di testo del .bat che ti trascrivo puoi modificarle come credi per adattarle alla tua logica, rispetta le virgolette e gli spazi dove ci sono. Spero di essere stato chiaro. Se hai problemi dimmelo.
Copia le righe riportate di seguito ed incollale in un file .bat che chiamerai come vuoi.

echo off
cls
echo.
echo. (1) Cerco
echo. (2) Termina
echo.
echo.
choice /c:12 /M "Digitare un numero"
if errorlevel 2 goto Fine
if errorlevel 1 goto Uno
:Uno
echo.
echo.
echo.
set /p input="Specificare percorso e tipologia files... "
echo.
echo.
set /p report="Specificare dove salvare e nome file... "
Dir %input% /ong /n /b /s > %report%.txt"
Start Notepad %report%.txt
Set input=
Set report=
:Fine
echo.
echo.
echo. OPERAZIONE TERMINATA
echo.
echo.
pause
Ogni poesia è misteriosa; nessuno sa interamente ciò che gli è stato concesso di scrivere.
J.L. Borges

Mazzogp
Junior Software
Junior Software
Messaggi: 110
Iscritto il: 09 lug 2013 18:09

Re: Stampare elenco file

Messaggio da Mazzogp »

Ti ringrazio moltissimo, me lo studio e lo provo in pratica.
Ciao

Rispondi