#include<FileOperations.au3>
#include<File.au3>
#include<Array.au3>
Global $1,$2,$3,$4;Пустые переменные для puthsplit
$FolderLow=@ScriptDir;Папка в которой все подпапки будут сканироватся на наличие медиа
$DirMov="D:";Место куда будем копировать файлы
$MediaExt="*.jpg|*.jpeg|*.gif|*.tiff|*.avi|*.mpg|*.mp3";Расширения которые входят в рамки медиа(можно дополнять, по образцу)
$FileA=_FO_FileSearch($FolderLow,$MediaExt,True,125,0,2)
$SizeF=UBound($FileA)
;~ _ArrayDisplay($FileA)
Dim $WhoFolder[$SizeF][3]
For $i=0 To $SizeF-1
Local $F=_PathSplit($FileA[$i],$1,$2,$3,$4)
$WhoFolder[$i][0]=$F[2]
$WhoFolder[$i][1]=$F[3]&$F[4]
$WhoFolder[$i][2]=$F[1]
Next;Определяем путь папок до файлов, для сохранения структуры
;~ _ArrayDisplay($WhoFolder)
For $i=0 To $SizeF-1
Local $DM=$DirMov&"\"&$WhoFolder[$i][0]&$WhoFolder[$i][1]
$d=FileMove(FileGetShortName($FileA[$i],1),$DM,8)
FileCreateShortcut($dm,$WhoFolder[$i][2]&$WhoFolder[$i][0]&$WhoFolder[$i][1])
Next