#include <file.au3>
#include <GUIConstants.au3>
#include <Array.au3>

$ziel='D:\Ordner Gottes\Filme'
GUICreate ( '.flv verschieben' , 300, 160, 0, 0)
$c01= GUICtrlCreateInput($ziel, 10, 10, 260, 20)
$c02= GUICtrlCreateButton ('', 275, 10, 20, 20, $BS_Icon)
$c03= GUICtrlSetImage (-1, 'shell32.dll', -5, 0)
$c04= GUICtrlCreateCheckbox('Ordner anschliessend öffnen', 10, 35, 280, 20)
	  GUICtrlSetState(-1, $GUI_CHECKED)
$c05= GUICtrlCreateCheckbox('Filme anschliessend öffnen', 10, 60, 280, 20)
	  GUICtrlSetState(-1, $GUI_CHECKED)
GUICtrlCreateGroup ('Ergebnis:', 10, 80, 220, 60)
$c06= GUICtrlCreateLabel('', 15, 95, 210, 42)
$c09= GUICtrlCreateButton ('Starten', 240, 110, 50, 25)
GUICtrlCreateLabel('', 0, 141, 300, 22, $SS_ETCHEDFRAME)
$c07= GUICtrlCreateLabel('Bereit...', 5, 143, 100, 16)
$c08= GUICtrlCreateProgress (141, 142, 198, 20)
GUICtrlSetState(-1,$GUI_CHECKED)

GUICtrlSetState(-1,$GUI_CHECKED)
GUISetState (@SW_SHOW)       

While 1
    $msg = GUIGetMsg()
    
    Select
		Case $msg = $GUI_EVENT_CLOSE
			ExitLoop
		Case $msg = $c09
			Starte()
		Case $msg = $c02 
			Ordner()
	EndSelect
Wend


Func Starte()
	Dim $aArray[2]
	Dim $aFehler[2]
	Dim $aDateien[2]
	Dim $sVerschoben=''
	Dim $sZiel1='d:\ordner gottes\filme'
	GUICtrlSetData($c08, 5)
	$quelle =RegRead('HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders\', 'Cache')  & '\*.flv'
	GUICtrlSetData($c07, 'Suche .flv-Dateien...')
	ClipPut('dir ' & $quelle & ' /s /B > c:\flv.tmp')
	RunWait(@ComSpec & ' /c ' & ' dir "' & $quelle & '" /s /B  > c:\flv.tmp', '', @SW_HIDE); /s =rekursiv /B=Kurzdarstellung /W=8.3 Format
	Sleep (2000)
	
	Run('notepad c:\flv.tmp')
	GUICtrlSetData($c08, 50)
	GUICtrlSetData($c07, ' Werte Suche aus...')
	$hflvtmp = FileOpen ('c:\flv.tmp',  0)
	If $hflvtmp =  -1 Then
		MsgBox(0, "Error", "Unable to open file.")
		Exit
	EndIf
	If GUICtrlRead($c01) <> 'D:\Ordner Gottes\Filme' then $sZiel1 = (GUICtrlRead($c01)
		
	$iZaehleZeilen = _FileCountLines('c:\flv.tmp')

	ReDim $aArray[$iZaehleZeilen + 1]
	ReDim $aFehler[$iZaehleZeilen + 1]
	ReDim $aDateien[$iZaehleZeilen + 1]
	MsgBox(4096,"jj", $iZaehleZeilen & @CRLF &  FileReadLine( $hflvtmp, 1) & @CRLF & $sZiel1 & @CRLF & $quelle ,5)
	For $i = 1 to $iZaehleZeilen
		;$sPfad = FileGetShortName(FileReadline($hflvtmp, $i))
		$sPfad = FileReadLine($hflvtmp, $i)
		$iRueckgabewert = FileMove ('"' &$sPfad & '"', '"' & $sZiel1 &  '\"', 8)
		;$iRueckgabewert = 0 then RunWait(@ComSpec & ' /c ' & 'move "' & $aArray[$i] &  ' ' & $sZiel1 &  '\"'  , '', @SW_SHOW)
		$aArray[$i]=$sPfad
		$aDat=StringSplit($sPfad, '\')
		$aDateien[$i] = $aDat[$aDat[0]]
		If $iRueckgabewert = 0 then $aFehler[$i]=$sPfad

	Next
	_ArrayDisplay($aArray)
	_ArrayDisplay($aDateien, '$sDateien')	
	_ArrayDisplay($aFehler, 'Fehler')
	FileClose ($hflvtmp)
	GUICtrlSetData($c08, 75)
	GUICtrlSetData($c07, 'Liefere Ergebnis...')
	For $i = 1 to $iZaehleZeilen
		$sVerschoben = $sVerschoben & @CRLF & $aDateien[$i]
	Next
	GUICtrlSetData($c06, $sVerschoben)
	GUICtrlSetData($c08, 90)
	
	If GUICtrlGetState($c04) = 80 then 
		GUICtrlSetData($c07, 'Öffne Explorer...')
		Run('explorer ' & $ziel)
	EndIf

	If GUICtrlGetState($c05) = 80 then 
		$sRealplayer=StringTrimRight(RegRead('HKEY_CLASSES_ROOT\Applications\RealPlay.exe\shell\open\command',''), 4)
		GUICtrlSetData($c07, 'Öffne Realplayer...')
		For $i = 1 to $iZaehleZeilen
			If StringLen($aArray[$i])  < 3  then ExitLoop
			Run ($sRealplayer & ' "' & $sZiel1 & '\' & $aDateien[$i] & '"')
		Next
	EndIf
	GUICtrlSetData($c08, 100)

	GUICtrlSetData($c07, 'Bereit f. neue Suche.')
EndFunc


Func Ordner()
	$sAuswahl = FileselectFolder('Geben Sie bitte den Speicherort für .flv Dateien an', 'D:\Ordner Gottes',   7, 'D:\Ordner Gottes\Filme')
	If @error = 1 Then
		MsgBox(4096, 'Abbruch', 'Sie haben keinen Ordner ausgewählt', 5)
		Exit
	EndIf
	GUICtrlSetData($c01, $sAuswahl)
EndFunc