13217 Letture

Elencare i file di una cartella e copiare la lista in memoria

Incredibile ma vero, a distanza di anni e anni, Windows - neppure nell'ultima versione - dispone di una funzionalità che permette di elencare i file di una cartella memorizzando tutto il contenuto di una directory in un file oppure in memoria, nell'area degli appunti.

In passato abbiamo già spiegato come Stampare elenco dei file in una cartella con Windows 8.1, Windows 7 e Windows XP, procedura che funziona anche in Windows 10 ad esempio.

Ma come fare per ottenere una lista dei file contenuti in una cartella accessibile da Windows e copiarla in memoria in modo da poterla gestire come meglio si crede?

Presentiamo una soluzione pronta all'uso che, applicata, permette di aggiungere una funzionalità al tasto destro di Windows per elencare i file di una cartella.


I passaggi per elencare i file contenuti in una directory e copiarli in memoria

Il primo passo per elencare i file contenuti in una cartella consiste nell'aprire una finestra del prompt dei comandi con i diritti di amministratore. Per procedere rapidamente, è sufficiente digitare cmd nella casella di ricerca di Windows quindi premere la combinazione di tasti CTRL+MAIUSC+INVIO.

A questo punto, si potranno digitare i seguenti due comandi:

reg add "HKCR\Directory\shell\copialista" /ve /d "Copia elenco file nella cartella" /f

reg add "HKCR\Directory\shell\copialista\command" /ve /d "cmd /c dir \"%1\" /b /a:-d /o:n clip" /f

Elencare i file di una cartella e copiare la lista in memoria

Nel caso in cui doveste ricevere il messaggio d'errore Sintassi non valida, verificate di aver inserito ciascuno dei due comandi in una sola riga al prompt e di aver rispettato l'intera sintassi (ad esempio barre, barre rovesciate e doppi apici). La barra rovesciata dinanzi a "%1", ad esempio, consente di "neutralizzare" i doppi apici in modo che siano trattati come parte integrante dal valore stringa da inserire nel registro di Windows.

Nel caso in cui doveste avere problemi (ad esempio Sintassi non valida), potete scaricare questo archivio compresso, cliccare sul file 01_elenco_file_cartella.reg in esso contenuto e autorizzare l'inserimento delle informazioni nel registro di Windows.


Alla comparsa del messaggio riprodotto in figura si dovrà semplicemente fare clic sul pulsante .

A questo punto, cliccando con il tasto destro del mouse su qualunque cartella, apparirà la nuova voce Copia elenco file nella cartella all'interno del menu contestuale (non serve neppure riavviare il sistema operativo).

Elencare i file di una cartella e copiare la lista in memoria

Cliccando su Copia elenco file nella cartella si vedrà apparire per una frazione di secondo una finestra a sfondo nero (si tratta della finestra del prompt dalla quale viene eseguito il comando cmd di cui sopra).

Aprendo un qualunque editor di testo e premendo la combinazione di tasti CTRL+V, la lista dei file contenuti nella cartella selezionata verrà immediatamente incollata.

Elencare i file contenuti in una cartella ottenendo maggiori informazioni su ciascuno di essi o sulla struttura delle directory

Impartendo il seguente comando, sempre dal prompt aperto con i diritti di amministratore, per ciascun file saranno indicati anche i rispettivi dettagli (data e ora di creazione, dimensione):

reg add "HKCR\Directory\shell\copialista\command" /ve /d "cmd /c dir \"%1\" /a:-d /o:n clip" /f

È bene tenere presente che la funzionalità, così come impostata, non restituisce i nomi delle cartelle eventualmente contenute nelle cartella selezionata né ne estrae i file ivi contenuti. La sua azione è insomma limitata a elencare i soli file contenuti nella directory prescelta.

Anche qui, se si avessero problemi (Sintassi errata), basterà scaricare l'archivio Zip citato in precedenza quindi cliccare due volte sul file 02_elenco_file_cartella_con_dettagli.reg e acconsentire all'inserimento dei dati nel registro di Windows.

Per fare in modo che Windows estragga ricorsivamente la lista dei file memorizzati nella cartella selezionata e in tutte le sue sottocartelle, si può digitare al prompt dei comandi quanto segue:

reg add "HKCR\Directory\shell\copialista\command" /ve /d "cmd /c dir \"%1\" /-p /s /o:gn clip" /f

In alternativa si può scaricare l'archivio Zip citato in precedenza quindi cliccare due volte sul file 03_elenco_file_cartella_con_dettagli_sottocartelle.reg in esso contenuto e acconsentire all'inserimento dei dati nel registro di Windows.

Infine, per ottenere l'elenco dei file e delle cartelle contenuti in una directory utilizzando una struttura ad albero, è possibile impartire al prompt il comando che segue:

reg add "HKCR\Directory\shell\copialista\command" /ve /d "cmd /c tree \"%1\" /f /a clip" /f

In alternativa è possible scaricare l'archivio compresso citato precedentemente quindi cliccare due volte sul file 04_elenco_file_cartella_albero.reg e autorizzare l'inserimento dei dati nel registro di sistema.


In tutti i casi, dopo aver cliccato su una cartella con il tasto destro e selezionato la nuova funzione Copia elenco file nella cartella, la combinazione CTRL+V permetterà di incollare la lista dei file ovunque lo si riterrà più opportuno.

Allorquando si volesse eliminare definitivamente la funzionalità che permette di estrarre la lista dei file contenuti in una cartella dal menu contestuale di Windows, basterà usare il comando seguente (sempre dalla finestra del prompt aperta con i diritti di amministratore):

reg delete "HKCR\Directory\shell\copialista" /f

In alternativa, si può premere la combinazione di tasti Windows+R, digitare regedit, portarsi in corrispondenza della chiave HKEY_CLASSES_ROOT\Directory\shell, cliccare con il tasto destro sulla sottochiave copialista e scegliere il comando Elimina.


  1. Avatar
    Max3
    14/01/2017 18.58.01
    Funziona benissimo, grazie per la dritta!
  2. Avatar
    Faus74
    11/01/2017 14.08.27
    Spettacolo, così ora non devo ricorrere a software esterni, grazie Michele :approvato:
  3. Avatar
    miki64
    11/01/2017 11.56.28
    Grazie, Michele, perla precisazione.
    Appena sarò sul mio PC proverò il tutto, corretto, ma sicuramente funzionerà.
    Saluti. :)
  4. Avatar
    terraneanroots
    10/01/2017 19.00.24
    Michele (buonasera) già che ci sei ci sarebbe da correggere qui a questa pagina
    http://www.ilsoftware.it/articoli.asp?tag=Autenticazione-a-due-fattori-semplice-con-Authy_11288" onclick="window.open(this.href);return false;

    A fine pagina dove dice mentre da qui gli utenti finali possono scaricare le app per la gestione dell'autenticazione a due fattori.

    il link "da qui"
  5. Avatar
    Michele Nasi
    10/01/2017 16.37.26
    miki64: non serve riavviare. Si era perso il carattere di escape. Puoi rilanciare il comando reg add copiandolo dall'articolo: vedrai che adesso funziona :wink: Mi scuso per l'inesattezza.
  6. Avatar
    PaoloPe72
    10/01/2017 15.09.37
    In realtà il comando non mette i doppi apici (") prima del parametro %1 e non funziona.
    Ho corretto come di seguito.
    Grazie delle varie chicche.

    reg add "HKCR\Directory\shell\copialista" /ve /d "Copia elenco file nella cartella" /f
    reg add "HKCR\Directory\shell\copialista\command" /ve /d "cmd /c dir \"%1\" /a:-d /o:n | clip" /f
    reg add "HKCR\Directory\shell\copialista_dettagli" /ve /d "Copia elenco file nella cartella (dett.)" /f
    reg add "HKCR\Directory\shell\copialista_dettagli\command" /ve /d "cmd /c dir \"%1\" /-p /s /o:gn | clip" /f
    reg add "HKCR\Directory\shell\copialista_tree" /ve /d "Copia elenco file nella cartella (tree)" /f
    reg add "HKCR\Directory\shell\copialista_tree\command" /ve /d "cmd /c tree \"%1\" /f /a | clip" /f
  7. Avatar
    miki64
    09/01/2017 16.54.51
    Che strano... non capisco.
    Mi ha aggiunto la voce "Copia elenco file nella cartella" però poi se faccio CTRL+V all'interno di Notepad non mi incolla nulla... :confuso: ...ho provato e riprovato più volte.
    Adesso proverò a vedere se è necessario un riavvio di Windows... (sono troppo ben abituato con Linux)...
Elencare i file di una cartella e copiare la lista in memoria - IlSoftware.it