http://digilander.libero.it/Cenati Directory in Internet Explorer |
|
|
||
|
Mostra il contenuto della directory in una finestra di Internet Explorer Questa è un primo script che ho realizzato per ottenere il contenuto di una directory. Usando Internet Explorer, presente su tutti i computer, posso ottenerne la stampa oppure recuperarne il contenuto con il taglia e copia. I dati sono ottenuti trascinando una directory sull'icona dello script. Se invece viene avviato con un doppio click viene visualizzato un messaggio che indica come deve essere utilizzato il programma. Non sono molti i dati recuperati dal programma, ma è quello di cui spesso si ha bisogno: solo il nome dei file e la data di creazione. Potrei impaginarli meglio, magari creando una tabella, ma copiando e incollando il contenuto della finestra potrei avere delle difficoltà. Allora ho deciso di lasciare così questo programma e fare qualcosa di più complesso con Excel (vedi "Directory con Excel"), estraendo molte più informazioni sui files rispetto a quanto mostro in questa finestra di IE. La prima parte del programma usa il file system object per puntare alla cartella da esaminare (con l'oggetto oFolder). Un oggetto (oFiles) punta ai files della cartella, un secondo invece punta alle sottocartelle (oFolders=oFolder.subfolders). Usando le proprietà di sola lettura del Fso si leggono i nomi (oFile.name e oFolder.name) e si mettono in una variabile di testo. La seconda parte del programma crea un'istanza di internet explorer. Come d'abitudine, bisogna navigare fino ad un foglio vuoto, aspettare che IE sia pronto (con un ciclo di attesa di 200 millisecondi per non occupare inutilmente risorse del computer) ed impostare le proprietà della finestra. Fatto questo, scrivo le intestazioni in html. Faccio uno sfondo rosa tenue, che è meglio di uno tutto bianco. Poi scrivo il testo con i dati dei files e chiudo le intestazioni html. La pagina è completa e può essere stampata e/o copiata. Copia il programma riportato qui sotto in un file con estensione ".vbs" oppure scarica l'archivio zip contentente lo script. Giovanni Cenati. '<% '************************************************ ' File: Directory in IE.vbs (VBScript) ' Author: Giovanni Cenati ' Mostra in una pagina di IE l'elenco dei ' files della directory trascinata sopra l'icona ' dello script. ' http://digilander.libero.it/Cenati ' Codice vbScript liberamente utilizzabile citando il sito. '************************************************ Dim Text Dim fso, oFolder, oFolders, oFiles, oFile Set objArgs = WScript.Arguments 'Vedo se ci sono degli argomenti passati allo script if objargs.count=0 then 'altrimenti mostro come si usa il programma msgbox "Trascinare una directory sul programma per averne l'elenco dei files"_ ,vbinformation+vbokonly,"VB Directory by Cenati Giovanni" wscript.quit end if path = objArgs(0) 'questa variabile contiene il nome della directory da leggere Title = "VB Directory by Cenati Giovanni" ' Crea l'oggetto FileSystemObject per accedere al file system. Set fso = WScript.CreateObject("Scripting.FileSystemObject") Set oFolder = fso.GetFolder(path) 'Qui punto alla directory specificata Set oFiles = oFolder.Files ' Questi sono i files set oFolders =oFolder.Subfolders 'queste sono le sottocartelle text= "Directory: " & path & vbcrlf & vbcrlf 'Intestazione For Each oFile In oFiles 'recupero le informazioni sui files Text = Text & "[ " & DateCreatedEx(oFile) & " ] " ' Data di creazione Text = Text & oFile.name & vbCrLf Next Text = Text & "<b>" 'Le sottocartelle le metto in grassetto for each oFolder in oFolders 'Recupero le informazioni sulle sottocartelle Text = Text & "[ " & DateCreatedEx(oFolder) & " ] " ' Data di creazione Text = Text & oFolder.name & vbCrLf next Text = Text & "</b>" 'termino la parte in grassetto ' Lancia Internet Explorer per mostrare i risultati. Set oIE = WScript.CreateObject("InternetExplorer.Application") oIE.navigate "about:blank" ' documento vuoto ' Importante: aspetta che Internet Explorer sia pronto Do While (oIE.Busy) WScript.Sleep 200 ' Sospende per 200 millisecondi. Loop oIE.Visible = 1 ' Internet Explorer è visibile. oIE.ToolBar = 1 ' ed ha la toolbar così è presente il pulsante "stampa" oIE.Height = 500 Set doc1 = oIE.Document ' Punta al documento... doc1.open ' ...lo apre ' Scrive le intestazioni html ed il testo con le info sulla directory doc1.writeln("<html><head><title>" & Title & "</title></head>") doc1.writeln("<body bgcolor='#FAF0F0'><pre>") doc1.writeln(Text) ' questo è l'output doc1.writeln("</pre></body></html>") doc1.close ' Chiude il documento, che rimane sullo schermo 'questa qui sotto l'ho copiata così come era ' Helper function for preventing run-time errors Function DateCreatedEx(obj) On Error Resume Next ' Error handling on Dim datex ' Retrieves the file creation date datex = obj.DateCreated 'Created If Err.Number <> 0 Then datex = "unknown " DateCreatedEx = datex On Error Goto 0 ' Error handling off End Function |
||
© Cenati Giovanni 2004/2010 - http://digilander.libero.it/Cenati - Reventlov at Katamail com
|