Not exactly, sure why your getting invalid parameters.. try adding some checks:

On *:text:@trigger*:[color:red]#Channel
:{
var %dir = [color:red]C:\directory here\

if (!$isdir(%dir)) { echo -a ERROR: Folder doesnt exist. }
else {
var %num = $rand(1,$findfile(%dir,*.*,0))
var %file = $+(",$findfile(%dir,*.*,%num),")
if (!$isfile(%file)) { echo -a ERROR: File doesnt exist. }
else { dcc send $nick %file }
}
}
[/color]

Eamonn.