Selezionare un file a caso da una cartella - Script ASP


L'esempio seguente serve per selezionare un file a caso tra quelli presenti in una cartella.
Combina l'uso dell'oggetto File System Object con la creazione di un array e la funzione Randomize.

L'oggetto ha il compito di popolare dinamicamente un array con l'elenco dei file della cartella, ridimensionando l'array stesso.
La funzione Randomize restituisce un numero a caso compreso tra 0 ed il valore massimo dell'array selezionando quindi un file a caso.

<%

Dim objFso, objFiles, objFolder 
Dim aryFiles(), intFile, objFile 
Dim strPath
Dim intRnd 

' Percorso della cartella assoluto o relativo 
' strPath = "/cartella/"
strPath = "cartella/" 
intFile = 0 

' Uso del FSO per richiamare i file 
Set objFso = Server.CreateObject("Scripting.FileSystemObject") 
Set objFolder = objFSO.GetFolder(Server.MapPath(strPath))
Set objFiles = objFolder.Files

' Con un ciclo dimensioniamo l'array 
' con i nomi dei file della cartella 

For Each objFile In objFiles

    ReDim Preserve aryFiles(intFile) 
    aryFiles(intFile) = objFile.Name
    intFile = intFile + 1 

Next 

Set objFiles = Nothing
Set objFolder = Nothing
Set objFso = Nothing 

' Scegliamo un file a caso 
intFile = UBound(aryFiles) 
Randomize() 
intRnd = Int(Rnd() * intFile - 1) 

' File scelto 
Response.Write(aryFiles(intRnd))

%> 

asp.weppos.com e asp.weppos.it sono di proprietà di Simone Carletti.
Scopri il mio sito o visita il mio Simone Carletti's profile on LinkedIn