Code:
;Usage /file.organizer source folder or $file.organizer(source folder)
; Use /.file.organizer or $file.organizer to suppress outputs
; Returned values = -1 : invalid source directory
;                   0+ : processed files (does not always mean this many files were moved (see note below))
;
; NB: Due to attempts to create folders when files of the same name already exist and/or attempts to move(rename) files when the same file name 
;     already exists not all files well always be moved. This problem is unavoidable but should represent less than 2% of all files proccessed.
;
alias file.organizer {
  if (!$isdir($1-) || ($mircdir == $1-)) { if ((!$isid) && ($show)) { echo -sce info * Invalid folder specified for /file.organizer $1- * } | return -1 } 
  var %show = $iif((!$isid && $show),$true,$false), %sourcefolder = $1-, %proccessed = $findfile($1-,*.*,0,1,!.echo -q $subfolder.a.file(%show,%sourcefolder,$nopath($1-)))
  if ((!$isid) && ($show)) { echo -sce info * /file.organizer processed %proccessed file(s) in $1- * } | return %proccessed
}
;
alias -l subfolder.a.file {
  var %foldername = $iif(($pos($3,.,0)),$left($3,$calc($pos($3,.,$v1) - 1)),$3)
  !.echo -q $regsub(%foldername,/[^[:alpha:]]+/g,/,%foldername)
  if ($numtok(%foldername,47) > 1) { var %foldername = $deltok(%foldername,-1,47) } | else { var %foldername = $gettok(%foldername,1-,47) }
  var %m = $numtok(%foldername,47), %i = 1
  while (%i <= %m) { mkdir $+(",$2,/,$gettok(%foldername,$+(1-,%i),47),") | inc %i }
  if $isdir($+($2,/,%foldername)) { $+($iif(!$1,.),rename) $+(",$2,/,$3,") $+(",$2,/,%foldername,/,$3,") }
  :error | reseterror
}


Try that out, you call it using /file.organizer foldername
foldername is of course a valid folder you want organizing

it well take any file in that folder, remove all non alphabetic characters, leaving the remainder as seperate words ie:
this-big-file.txt becomes this big file.txt
it well then attempt to create the folder structure based on these words (excluding the last word, and extention, unless there is only one word)
this-big-file.txt becomes this\big\this-big-file.txt
this.txt becomes this\this.txt
file becomes file\file
123file.ext becomes file\123file.ext
123this456big789file.blah becomes this\big\123this456big789file.blah
@@@1.txt becomes @@@1.txt(because there is no foldername to place it into)