QUESTO SCRIPT PERMETTE DI NAVIGARE UN ALBERO IN IIS VIA WEB
AVENDO COME DIRECTORY INZIALE QUELLA PRESENTE IN UNA VARIABILE DI SESSIONE
VBSCRIPT:
‘creo una tabella per contenere l’albero di navigazione
Response.Write “</table>”
‘ Apri il FSO
Set objFSO = CreateObject(“Scripting.FileSystemObject”)
on error resume next
‘CAttura la cartella attuale
‘Set objFolder = objFSO.GetFolder(sRoot & sDir)
Set objFolder = objFSO.GetFolder(sRoot & sDir)
if err.number <> 0 then
Response.Write “Non posso aprire la cartella”
Response.End
end if
on error goto 0
‘ Linko la cartella precedente
‘ creando il path completo
sParent = objFSO.GetParentFolderName(objFolder.Path)
‘ Tolgo il path della cartella precedente. questo ci rende il path relativo alla cartella root
sParent = mid(sParent, len(sRoot) + 1)
Response.Write “<table border=””1″” align=””center””>”
‘ Linko la cartella superiore per averla come parametro da rimandare a questo file per la navigazione
Response.Write “<tr><td colspan=3><a href=””intranet.asp?dir=” & Server.URLEncode(sParent) & “””>…Torna Indietro…</a></td></tr>” & vbCRLF
‘ Creo un ciclo per elencare le sottocartelle della cartella attualmente in uso
For Each objSubFolder In objFolder.SubFolders
‘ e quindi le inserisco in un href per linkarne la voce
Response.Write “<tr><td colspan=3> Cartella >>>> <a href=””intranet.asp?dir=” & Server.URLEncode(sDir & objSubFolder.Name) & “””>” & objSubFolder.Name & “</a></td></tr>” & vbCRLF
Next
cartella = Replace( sDir, “”, “/” )
‘ Ora creo un ciclo per i files
For Each objFile In objFolder.Files
‘con una notazione per la grandezza, se in kb
if Clng(objFile.Size) < 1024 then
sSize = objFile.Size & ” bytes”
else
sSize = Clng(objFile.Size / 1024) & ” KB”
end if
‘ e linko ogni voce per poterla aprire
Response.Write “<tr><td><a href=””” & dircorsi & cartella & “” & objFile.Name & “””>” & objFile.Name & “</a></td><td>” & sSize & “</td><td>” & objFile.Type & “</td></tr>” & vbCRLF
Next
Response.Write “</table>”
‘chiudo la tabella usata