← Tutte le risorse

PowerShell: esplorazione e analisi dei file in una directory

Esplorare una directory con PowerShell, filtrare i file, elaborarne i nomi e produrre report con proprietà e comandi utilizzati. Video e traccia dell’esercitazione.

Traccia dell’esercitazione

Scrivi uno script che esplora una directory indicata dall’utente, analizza i file in essa contenuti e applica operazioni di filtro e modifica dei nomi. Utilizza cicli per iterare sui file, operatori di matching e sostituzione, e produci un report formattato dei file elaborati.

1. Input del percorso

Richiedi all’utente il percorso della directory da esplorare con Read-Host -Prompt e salvalo in una variabile, per esempio $directoryPath.

2. Recupero dei file

Usa Get-ChildItem -Path $directoryPath per ottenere gli elementi della directory. Aggiungi -File per selezionare soltanto i file.

Se nel tuo ambiente è presente un comando chiamato Get-Children, verificane la sintassi: la cmdlet standard di PowerShell è Get-ChildItem.

3. Filtraggio e matching

Applica Where-Object per filtrare i file in base a un criterio: per esempio, quelli con estensione .log o con una determinata parola nel nome. Utilizza operatori di matching come -like o -match.

4. Elaborazione dei file con cicli

Utilizza un ciclo for, oppure while o do…while, per iterare sui file filtrati. Per ciascun file, impiega -replace per ottenere un nome modificato, per esempio sostituendo spazi o caratteri non validi con un trattino. Verifica il tipo dell’oggetto con -is o -isnot.

Nota: -replace restituisce una stringa modificata; da solo non rinomina il file sul disco.

5. Output e attese

Visualizza informazioni sull’operazione effettuata per ogni file con Write-Output. Inserisci brevi pause con Start-Sleep per simulare il tempo di elaborazione e rendere più leggibile l’output in tempo reale.

6. Documentazione e report

Utilizza Get-Member su un oggetto file e salva con Out-File un report delle proprietà disponibili.

Ordina i risultati con Sort-Object, per esempio per data di modifica o dimensione, quindi presenta l’output finale in una tabella con Format-Table.

Bonus: documentazione dei comandi

Integra Get-Command per elencare i comandi utilizzati dallo script e scriverli su file, producendo una documentazione automatica del lavoro svolto.