Windows non offre un modo diretto per stampare l’elenco dei file e delle cartelle presenti all’interno del disco fisso, cosa che in molti casi può risultare utile. Esistono moltissimi software che permettono di ovviare al problema, purtuttavia, senza ricorrere ad essi è possibile applicare alcune pratiche soluzioni alternative.
– E’ possibile ricorrere al prompt di Dos. Dopo aver raggiunto la cartella che interessa utilizzando l’apposito comando (“CD”) digitando
DIR/V > C:\cartella_di_destinazione\NOMEFILE.TXT
verrà creato, all’interno della cartella “C:\cartella_di_destinazione” un file di testo “NOMEFILE.TXT” contenente la lista di tutti file. Si ricordi di sostituire “C:\cartella_di_destinazione” con il percorso completo all’interno del quale si desidera memorizzare il file di testo e NOMEFILE.TXT con il nome del file che si vuole creare.
Si noti che l’opzione /V associata al comando DIR, permette di ottenere in uscita anche i dati riguardanti ogni singolo file.
– Una soluzione ancor più interessante consiste nella creazione di uno script VB atto allo scopo. Create un file con estensione VBS (per esempio: LISTADIR.VBS ) ed incollate al suo interno, utilizzando il Blocco Note di Windows, il seguente codice:
Cartella = InputBox("Nome cartella: ")
If Cartella = "" Then Cartella = "C:\"
set ie4=CreateObject("InternetExplorer.Application")
ie4.navigate ("about:blank"): ie4.visible=1
set FSys=CreateObject("Scripting.FileSystemObject")
Set TheFolder = FSys.GetFolder(Cartella)
ie4.document.body.innerHTML="
"
SubFolders TheFolder, FiltroFile
YesNo=MsgBox("Stampa?", vbYesNo)
If YesNo = vbYes Then ie4.ExecWB 6, 2
set ie4=nothing: set fSys=nothing
Sub SubFolders(ByVal AFolder, TheExtension)
strOut="" & AFolder & "
"
ie4.document.all.idOutput.insertAdjacentHTML "BeforeEnd", strOut
ShowFilesWithExtensionIn AFolder, TheExtension
Set MoreFolders = AFolder.SubFolders
For Each TempFolder In MoreFolders
SubFolders TempFolder, TheExtension
Next
End Sub
Sub ShowFilesWithExtensionIn(AFolder,TheExtension)
'Dim AFile, TheFiles,s, header
header="
" & folderspec & "
"Set TheFiles = AFolder.Files
For Each AFile In TheFiles
s=AFile.Name
s = s & "
"
ie4.document.all.idOutput.insertAdjacentHTML "BeforeEnd", s
Next
End Sub
Facendo doppio clic sul file VBS (Visual Basic Script) appena creato verrà richiesto di inserire il nome di una cartella.
A partire dalla cartella specificata tutti i file contenuti, compresi quelli appartenenti alle eventuali sottocartelle presenti verranno inviati a Internet Explorer 4 ed elencati in finestra. Abbiamo così creato un primo esempio con il Windows Scripting Host (WSH) di cui abbiamo parlato qualche settimana fa. Sin dalla prossima settimana presenteremo ulteriori possibili applicazioni.
Si tenga presente che l’esempio funziona solo con Windows 98 e Internet Explorer 4.