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))
%>

