Su internet ho trovato
vari metodi e
programmini per fare più o meno quello che sto per scrivere, ma nessuno di essi mi soddisfava...
Dopo vari tentativi con i comandi
tree,
dir ed anche un paio dei programmini citati nei post linkati qui sopra. Ho deciso
ispirandomi a questo articolo di farmi da solo un piccolo script con l'aiuto di un bel programma open source, visto che avevo due principali esigenze:
- avere la lista dei file ordinata per sottocartelle e nomi (cosa che tree non fa)
- togliere tutte le informazioni che non mi servivano quali dimensione, date file informazioni extra delle cartelle, intestazioni ecc. (cosa praticamente impossibile con il comando dir o gli altri programmini)
ho scovato quindi una vera chicca che è
Swiss File Knife, che come si capisce dal nome è un vero e proprio coltellino svizzero per la gestione dei file.
Mi sono creato una cartella (
Maiuz Tools\Stampa Cartelle e File\) tra i programmi e dentro ci ho messo il file
sfk164.exe che è quello principale di Swiss File Knife ed ho editato il seguente comando batch (che ho chiamato
stampa.cmd)
@echo off
@echo LISTA FILE della cartella %1 e delle relative sottocartelle > "%temp%\Lista File"
@echo - >> "%temp%\Lista File"
@echo - >> "%temp%\Lista File"
"%ProgramFiles(x86)%\Maiuz Tools\Stampa Cartelle e File\sfk164.exe" list -sort -relnames %1 >> "%temp%\Lista File"
start /wait %windir%\notepad.exe "%temp%\Lista File"
del "%temp%\Lista File"
piccola nota, se avete cura come me di proteggervi con un programma tipo Comodo Internet Security ricordatevi di aggiungere anche lo script tra i file sicuri, e ricordatevi i permessi!
Ho quindi editato il Registo di sistema con
regedit.exe, in particolare sono andato ad inserirmi una nuova chiave in
HKEY_CLASSES_ROOT\Folder\shell chiamandola
Stampa lista files e sottocartelle e dentro ad essa ho inserito una ulteriore chiave chiamata
command della quale sono andato ad editare il valore
(Predefinito) con
%ProgramFiles(x86)%\Maiuz Tools\Stampa Cartelle e File\stampa.cmd %1 così da avere sempre a portata di mano la lista dei file ben ordinata già pronta per essere stampata.