immer alles ab der ersten Zahl
Beiträge von Tweaky
-
-
Wenn aber der Name z B. so heißt
"Internet Tool 02 Test02"
geht dies nicht
Gibt es keine Funktion die nach der ersten Zahl sucht?
-
Hi,
ich würde gerne die Versionsnummer meiner AutoIt Scripte in das Script hineinschreiben.Meine Scripte heißen z. B.
Internettool 01 Test02.exe
oder
Internettool 02.exeNun will ich die Versionsnummer "01 Test02" bzw. "02" haben
Wie geht dies

-
Habs geändert, immernoch der gleiche Fehler
Spoiler anzeigen
[autoit]#include<Date.au3>
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
#include<Array.au3>
#include<File.au3>
#include<_ArrayDblDel.au3>;Nummer des ersten zu kopierenden Ordners
[/autoit] [autoit][/autoit] [autoit]
$start = 0;Nummer des letzten zu kopierenden Ordners
[/autoit] [autoit][/autoit] [autoit]
$ende = 0;Nummer des letzten zu überspringenden Ordners
[/autoit] [autoit][/autoit] [autoit]
$ende2 = 0;~ Dim $dir[$ende+1]
[/autoit] [autoit][/autoit] [autoit]
Dim $ordner[$ende+1]
Dim $ausschliessen[$ende2+1]
Dim $array_gesamt_liste, $anzahl, $anzahl_array, $array_gesamt, $anzahl_array2, $array_gesamt2, $array_gesamt_ok2, $anzahl2, $anzahl_gesamt, $merken_alt, $ziel, $ordner_Dateiname, $quelle, $zielordner, $dateiname
Dim $Entscheidung
Dim $Quell_Pf_[$ende+1][2] ; [n][0] = Pfad; [n][1] = gerundete Größe
Dim $goend = 0;Datumsoptionen
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
$iWeekday = _DateToDayOfWeek(@YEAR, @MON, @MDAY)
$sNewDate = _DateAdd('d', 0, _NowCalcDate())
$sNewDate = StringReplace($sNewDate, "/", ".");~ ;Quell-Laufwerk
[/autoit] [autoit][/autoit] [autoit]
$Quell_LW = "D:\";~ ;Quell-Ordner (ohne Laufwerksbuchstabe)
[/autoit] [autoit][/autoit] [autoit]
$ordner[0] = "Video";~ ;Quell-Ordner zusammengesetzt
[/autoit] [autoit][/autoit] [autoit]
$Quell_Pf_[0][0] = $Quell_LW & $ordner[0] & "\";~ ;Ziel-Laufwerk
[/autoit] [autoit][/autoit] [autoit]
$Ziel_LW = "C:\"
$Ziel_Pf = $Ziel_LW & "Sicherung Internet\" & $sNewDate & "\";folgende Ordner bei der Sicherung ausschließen
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
$ausschliessen[0] = "D:\alt"_gesamt_array_erstellen()
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit];***********************************************************************
[/autoit] [autoit][/autoit] [autoit]
; Funktion komplettes Array mit allen zu kopierenden Dateien erstellen *
;***********************************************************************Func _gesamt_array_erstellen()
[/autoit] [autoit][/autoit] [autoit]
;~ _ArrayDisplay($array_gesamt_liste);leeres Array erstellen
[/autoit] [autoit][/autoit] [autoit]
$array_gesamt = _ArrayCreate("");Dateien zum kopieren zusammentragen
[/autoit] [autoit][/autoit] [autoit]
For $q = $start to $ende
$anzahl = DirGetSize($Quell_Pf_[$q][0], 1)
$anzahl_array = $anzahl[1]
$ordner_aktuell = $Quell_Pf_[$q][0]
_makecopylist($ordner_aktuell)
$anzahl_gesamt += $anzahl_array;die Dateien jedes zu kopierenden Ordners dem Gesamt-Array hinzufügen
[/autoit] [autoit][/autoit] [autoit]
For $h = 0 to UBound($array_gesamt_liste)-1
_ArrayAdd($array_gesamt, $array_gesamt_liste[$h])
NextNext
[/autoit] [autoit][/autoit] [autoit];Die erste (leere) Linie des Gesamt-Array löschen
[/autoit] [autoit][/autoit] [autoit]
_ArrayDelete($array_gesamt, 0)
_ArrayDisplay($array_gesamt)EndFunc ;==>_gesamt_array_erstellen
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit];***********************************************************************
[/autoit] [autoit][/autoit] [autoit]
; Funktion einzelne Arrays mit allen zu kopierenden Dateien erstellen *
;***********************************************************************;Funktion zum zusammentragen der Dateien
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
Func _makecopylist($dir)
$FileList = _FileListToArray($dir, "*", 0)
If (Not IsArray($FileList)) And (@error = 1) Then SetError(-1)
_ArrayDelete($FileList,0)
$i = 0
While ($i < UBound($FileList))
If (FileGetAttrib($dir & '\' & $FileList[$i]) = "D") Then
$tmp = _makecopylist($dir & '\' & $FileList[$i])
$tmpdir = $FileList[$i] & '\'
_ArrayDelete($FileList, $i)
For $j = 0 To UBound($tmp) -1
If IsArray($tmp) Then
_ArrayInsert($FileList, $j + $i, $tmpdir & $tmp[$j])
Else
; Fehler setzen oder MsgBox
EndIf
Next
$i = $i + UBound($tmp) - 1
EndIf
$i=$i+1
WEnd
_ArrayDblDel($FileList)If $anzahl_array = UBound($FileList) Then
[/autoit]
$array_gesamt_liste = _ArrayCreate("")
For $z = 0 to UBound($FileList)-1
_ArrayInsert($array_gesamt_liste, $z, $dir & $FileList[$z])
Next
_ArrayDelete($array_gesamt_liste, UBound($FileList))
;~ _ArrayDisplay($array_gesamt_liste)
Else
Return $FileList
EndIf
EndFunc ;==>_makecopylistEDIT:
so wie es aussieht hab ich eine andere Lösung gefunden:Hier meine Änderung in der while-Schleife
Spoiler anzeigen
[autoit]...
[/autoit]
While ($i < UBound($FileList))
If (FileGetAttrib($dir & '\' & $FileList[$i]) = "D") Then
$tmp = _makecopylist($dir & '\' & $FileList[$i])
$tmpdir = $FileList[$i] & '\'
$dateien_anzahl = DirGetSize($dir & '\' & $FileList[$i], 1)
$dateien_anzahl_array = $dateien_anzahl[1]
_ArrayDelete($FileList, $i)
If $dateien_anzahl_array > 0 Then
For $j = 0 To UBound($tmp) -1
_ArrayInsert($FileList, $j + $i, $tmpdir & $tmp[$j])
Next
EndIf
$i = $i + UBound($tmp) - 1
EndIf
$i=$i+1
WEnd
...Habe einfach abgefragt, ob der Ordner leer ist oder nicht

-
Hi,
ich hab ein Scritp erstellt, welches mir die Dateien von einem bestimmten Ordner auflistet.Dies funktioniert soweit.
Wenn allerdings ein leerer Ordner existiert, kommt folgende FehlermeldungCodeV:\_AutoIt\Versuche aktuell\mit Anzeige kopieren6 kurz.au3 (108) : ==> Array variable has incorrect number of subscripts or subscript dimension range exceeded.: _ArrayInsert($FileList, $j + $i, $tmpdir & $tmp[$j]) _ArrayInsert($FileList, $j + $i, $tmpdir & ^ ERRORSpoiler anzeigen
[autoit]#include<Date.au3>
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
#include<Array.au3>
#include<File.au3>
#include<_ArrayDblDel.au3>;Nummer des ersten zu kopierenden Ordners
[/autoit] [autoit][/autoit] [autoit]
$start = 0;Nummer des letzten zu kopierenden Ordners
[/autoit] [autoit][/autoit] [autoit]
$ende = 0;Nummer des letzten zu überspringenden Ordners
[/autoit] [autoit][/autoit] [autoit]
$ende2 = 0;~ Dim $dir[$ende+1]
[/autoit] [autoit][/autoit] [autoit]
Dim $ordner[$ende+1]
Dim $ausschliessen[$ende2+1]
Dim $array_gesamt_liste, $anzahl, $anzahl_array, $array_gesamt, $anzahl_array2, $array_gesamt2, $array_gesamt_ok2, $anzahl2, $anzahl_gesamt, $merken_alt, $ziel, $ordner_Dateiname, $quelle, $zielordner, $dateiname
Dim $Entscheidung
Dim $Quell_Pf_[$ende+1][2] ; [n][0] = Pfad; [n][1] = gerundete Größe
Dim $goend = 0;Datumsoptionen
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
$iWeekday = _DateToDayOfWeek(@YEAR, @MON, @MDAY)
$sNewDate = _DateAdd('d', 0, _NowCalcDate())
$sNewDate = StringReplace($sNewDate, "/", ".");~ ;Quell-Laufwerk
[/autoit] [autoit][/autoit] [autoit]
$Quell_LW = "D:\";~ ;Quell-Ordner (ohne Laufwerksbuchstabe)
[/autoit] [autoit][/autoit] [autoit]
$ordner[0] = "Video";~ ;Quell-Ordner zusammengesetzt
[/autoit] [autoit][/autoit] [autoit]
$Quell_Pf_[0][0] = $Quell_LW & $ordner[0] & "\";~ ;Ziel-Laufwerk
[/autoit] [autoit][/autoit] [autoit]
$Ziel_LW = "C:\"
$Ziel_Pf = $Ziel_LW & "Sicherung Internet\" & $sNewDate & "\";folgende Ordner bei der Sicherung ausschließen
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
$ausschliessen[0] = "D:\alt"_gesamt_array_erstellen()
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit];***********************************************************************
[/autoit] [autoit][/autoit] [autoit]
; Funktion komplettes Array mit allen zu kopierenden Dateien erstellen *
;***********************************************************************Func _gesamt_array_erstellen()
[/autoit] [autoit][/autoit] [autoit]
;~ _ArrayDisplay($array_gesamt_liste);leeres Array erstellen
[/autoit] [autoit][/autoit] [autoit]
$array_gesamt = _ArrayCreate("");Dateien zum kopieren zusammentragen
[/autoit] [autoit][/autoit] [autoit]
For $q = $start to $ende
$anzahl = DirGetSize($Quell_Pf_[$q][0], 1)
$anzahl_array = $anzahl[1]
$ordner_aktuell = $Quell_Pf_[$q][0]
_makecopylist($ordner_aktuell)
$anzahl_gesamt += $anzahl_array;die Dateien jedes zu kopierenden Ordners dem Gesamt-Array hinzufügen
[/autoit] [autoit][/autoit] [autoit]
For $h = 0 to UBound($array_gesamt_liste)-1
_ArrayAdd($array_gesamt, $array_gesamt_liste[$h])
NextNext
[/autoit] [autoit][/autoit] [autoit];Die erste (leere) Linie des Gesamt-Array löschen
[/autoit] [autoit][/autoit] [autoit]
_ArrayDelete($array_gesamt, 0)
_ArrayDisplay($array_gesamt)EndFunc ;==>_gesamt_array_erstellen
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit];***********************************************************************
[/autoit] [autoit][/autoit] [autoit]
; Funktion einzelne Arrays mit allen zu kopierenden Dateien erstellen *
;***********************************************************************;Funktion zum zusammentragen der Dateien
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
Func _makecopylist($dir)
$FileList = _FileListToArray($dir, "*", 0)
If (Not IsArray($FileList)) And (@error = 1) Then SetError(-1)
_ArrayDelete($FileList,0)
$i = 0
While ($i < UBound($FileList))
If (FileGetAttrib($dir & '\' & $FileList[$i]) = "D") Then
$tmp = _makecopylist($dir & '\' & $FileList[$i])
$tmpdir = $FileList[$i] & '\'
_ArrayDelete($FileList, $i)
For $j = 0 To UBound($tmp) -1
_ArrayInsert($FileList, $j + $i, $tmpdir & $tmp[$j])
Next
$i = $i + UBound($tmp) - 1
EndIf
$i=$i+1
WEnd
_ArrayDblDel($FileList)If $anzahl_array = UBound($FileList) Then
[/autoit]
$array_gesamt_liste = _ArrayCreate("")
For $z = 0 to UBound($FileList)-1
_ArrayInsert($array_gesamt_liste, $z, $dir & $FileList[$z])
Next
_ArrayDelete($array_gesamt_liste, UBound($FileList))
;~ _ArrayDisplay($array_gesamt_liste)
Else
Return $FileList
EndIf
EndFunc ;==>_makecopylist -
hab gerade mal auf die neuest Scite Version upgedatet.
Leider sind die Einstellungen in der au3.properties wieder weg.Da wäre es am besten, wenn ich ein AutoItScript schreibe, der mit deinen Eintrag automatisch an die Datei ranhängt, oder geht dies auch anders?
-
Ups, da hab ich wohl in der Eile () vergessen.
Naja nun funktioniert
Danke
-
sodele,
hab deine neue au3-Datei in den Ordner kopiert, die au3.properties geändert und die inlcludes.ini geändertWenn ich es mit diesem Script probiere
Spoiler anzeigen
[autoit]$gui=GUICreate("Background", 800, 300)
[/autoit] [autoit][/autoit] [autoit]
; background picture
$background = GUICtrlCreatePic ("demo-bg.jpg", 0, 0, 800, 300)
GUISetState(@SW_SHOW); transparent child window
[/autoit] [autoit][/autoit] [autoit]
$pic=GUICreate("", 14, 80, 0, 0,$WS_POPUP,$WS_EX_LAYERED+$WS_EX_MDICHILD,$gui)
; transparent pic
$basti_stay = GUICtrlCreatePic ("l_st.gif", 0, 0, 14, 80)
GUISetState(@SW_SHOW)MsgBox(0,"",_NowCalcDate)
[/autoit] [autoit][/autoit] [autoit]do
[/autoit]
$msg = GUIGetMsg()
until $msg = $GUI_EVENT_CLOSE
kommt zuerst die Meldung "No Files\Folders Found."Wenn ich es dann nochmal starte kommt deine GUI-Oberfläche.
Es wird mir nur #include<GUIConstants.au3> anzeigt (mit Haken).
Jedoch fehlt #include <Date.au3>.
Wenn ich es nochmal starte wird mir #include<GUIConstants.au3> anzeigt (ohne Haken).
Wenn ich den Haken setze kann ich den include nochmal einfügen.
Wie ist es, wenn ich Scite update, muß ich dann die Änderungen in der au3.properties nochmal machen?
-
auch von mir alles Gute zum 2000.
Mach weiter so Cheffe

-
Hier sind die Links von BugFix vom Board
_ArrayDisplay2D.au3
_ArrayDisplay2D_ArraySort_2ary.au3
Array 2-stufig sortieren -
Hi,
so nun funktionierts soweit.#include <_ArrayDisplay2D.au3>
#include <_ArraySort_2ary.au3>
hab ich in den include-Ordner kopiert.Ich nutze nur die normale Version, keine Beta.
Wenn ich allerdings dieses Beispiel aus der Hilfe als Test nehme,
[autoit]$gui=GUICreate("Background", 800, 300)
[/autoit][autoit][/autoit][autoit]
; background picture
$background = GUICtrlCreatePic ("demo-bg.jpg", 0, 0, 800, 300)
GUISetState(@SW_SHOW); transparent child window
[/autoit][autoit][/autoit][autoit]
$pic=GUICreate("", 14, 80, 0, 0,$WS_POPUP,$WS_EX_LAYERED+$WS_EX_MDICHILD,$gui)
; transparent pic
$basti_stay = GUICtrlCreatePic ("l_st.gif", 0, 0, 14, 80)
GUISetState(@SW_SHOW)do
[/autoit]
$msg = GUIGetMsg()
until $msg = $GUI_EVENT_CLOSE
[autoit]
werden mir folgende includes angezeigt:#include<_ArrayDisplay2D.au3>
[/autoit]
#include<_ArraySort_2ary.au3>
#include<GUIConstants.au3>aber warum?
Die einzige Verbesserung, die ich hätte, wäre, dass man die includes nicht doppelt einfügen kann.

-
Hi,
wenigstens noch einer mit dem gleichen Problem
Ja bei der "au3.properties" habe ich genau die Zeilen von th.meger an Ende hinzugefügt.
Es wird immer nur "#include <GUIConstants.au3>" angezeigt sonst kein include
-
Hi,
bekomme dein Script gestartet, jedoch kommt gleich die Meldung"No Files\Folders Found."
Habe dann in dieser Funktion in der ersten Zeile $betaincludesPath in $includesPath geändert.
[autoit]Func _prepareOrganizeIncludes()
[/autoit]
$FileList = _FileListToArray($includesPath, '*.au3', 1)
If @error = 1 Then
MsgBox(0, '', 'No Files\Folders Found.')
Exit
EndIf
If FileExists($includesIni) Then FileDelete($includesIni)
IniWrite($includesIni, 'Version', 'Beta', $betaInstallVersion)
IniWrite($includesIni, 'Version', 'Normal', $InstallVersion)
For $i = 1 To UBound($FileList) - 1
$functions = StringRegExp(FileRead(FileOpen($includesPath & $FileList[$i], 0)), '(?<=Func )[0-9a-zA-Z_]+[ ]{0,}(?=\()', 3)
If IsArray($functions) Then IniWrite($includesIni, 'Functions', $FileList[$i], _ArrayToString($functions, ';'))
Next
IniWrite($includesIni, 'Functions', 'GUIConstants.au3', 'GUICreate;GUIGetMsg')
EndFunc ;==>_prepareOrganizeIncludesDann startet es bei mir.
[autoit]
Jedoch wird mir nur#include <GUIConstants.au3>
[/autoit]angezeigt.
Allerdings benötige ich auch noch
[autoit]#include <Array.au3>
[/autoit]
#Include <File.au3>
#Include <date.au3>
#include <_ArrayDisplay2D.au3>
#include <_ArraySort_2ary.au3>
#Include <String.au3>Wenn ich einen include-Befehl schon im Script stehen habe und ich dein Script nochmal starte, wird mir der Include-Befehl nochmal angezeigt.
Also könnte ich ihn mehrfach einfügen.PS: Ich nutze AutOit 3.2.4.9 und Scite vom 22.05.2007
-
Ups, jetzt wo du es sagst,
[autoit]
hatte das $i in_Reg1($i)
[/autoit]übersehen.
Trotzdem Danke

Es läuft ja nun
EDIT:
Habs nun an einer anderen Stelle gebraucht, aber es klappt nicht so ganz
Der Wert von $datum_datum[$i](0] soll an die Func _start1() übergeben werden
[autoit]$anzahl = DirGetSize($durchgang, 3)
[/autoit][autoit][/autoit][autoit];Array ($Filelist) erzeugen (nur Dateinamen)
[/autoit][autoit][/autoit][autoit]
Dim $array_datum = 0
Dim $array_datum[$anzahl[1] + 1][2]
Dim $array = 0
Dim $array[100]
$array = _FileListToArray($durchgang, "*", 1)
;~ _ArrayDisplay($array);Array ($array_quelle) erzeugen (Dateinamen von $Filelist und Datum)
[/autoit][autoit][/autoit][autoit]
For $i = 1 to UBound($array)-1
$array_datum[$i][0] = $array[$i]
$dateidatum = FileGetTime($durchgang & $array_datum[$i][0], 0, 1)
$array_datum[$i][1] = $dateidatum
Next_ArraySort_2ary($array_datum, 1 , 0, False)
[/autoit][autoit][/autoit][autoit]
;~ _ArrayDisplay2D($array_datum, $durchgang)$startdatum = UBound($array)
[/autoit][autoit][/autoit][autoit]
For $i = 1 to UBound($array)-1
If $array_datum[$i][1] >= $datum Then
$startdatum = $i
ExitLoop
EndIf
NextFor $i = $startdatum to UBound($array)-1
[/autoit][autoit][/autoit][autoit]
GUICtrlSetData($fortschritt," ")
GUICtrlSetData($fortschritt, $speicher & " / " & $updates_gesamt)$kb = StringMid($array_datum[$i][0], StringInStr($array_datum[$i][0], "KB"),
[/autoit][autoit][/autoit][autoit]
$time = FileGetTime($durchgang & $array_datum[$i][0], 0, 0)
$time2 = $time[2] & "." & $time[1] & "." & $time[0]Select
[/autoit][autoit]
Case StringInStr($array_datum[$i][0], "Media-") = "8" ;WindowsMedia-KB911564-x86-DEU.exe
_Reg1()
If $installiert = 0 Then
_start1($array_datum)
EndIfFunc _start1($xxx)
[/autoit]
msgbox(0,"", $xxx)
;~ msgbox(0,"", $array_datum[$i][0] & " - " & $test)
;~ ShellExecuteWait($durchgang & $array_datum[$i][0], "/passive /norestart")
GUICtrlSetData($item, "|||wurde installiert")
GUICtrlSetColor(-1,0x000000)
EndFunc ;==>_start1()Jedoch kommt die Fehlermeldung
"ERROR: _start1() called by a previous line with 0 arg(s). Min = 1. First previous line calling this Func is 263."Why?
Oder kann ich die Variable auch direkt verwenden ohne zu übergeben

Danke

EDIT2: Hat sich schon wieder erledigt

Ich hatte noch andere Aufrufe der _start1() drinnen, in denen ich den Parameter nicht übergeben hatte :tongue: -
Bernd
Func durchläuft die erste Schlefe (1)
In dieser Schleife wird eine andere Schleife aufgerufen und diese 3x durchlaufen (1) (2) (3)Func durchläuft die erste Schlefe (2)
In dieser Schleife wird eine andere Schleife aufgerufen und diese 3x durchlaufen (4) (5) (6)Func durchläuft die erste Schlefe (3)
In dieser Schleife wird eine andere Schleife aufgerufen und diese 3x durchlaufen (7) ( 8 ) (9)also 9x statt 3x
oder liege ich da voll daneben

@th.meger
würde zwar dann laufen, jedoch benötige ich genau die $i von oben.EDIT:
[autoit]
hab die Lösung
hab $i an $xxx in der 1. Func übergeben und in der 2. Func wieder $xxx an $i übergeben. Hoffe es klappt nunCase StringLen($array_datum[$i][0]) = 30
[/autoit]
$xxx = $i
_Reg1()
If $installiert = 0 Then ;>>>>>>>>>>>>>>>>>>>>>>>>>>>> 0
_start1()
EndIf
[autoit]Func _Reg1()
[/autoit]
$i = $xxx
$kb = StringMid($array_datum[$i][0], 11,
$reg = RegRead($schluessel1 & "\" & $kb,"Installed")
If $reg = "1" Then
$installiert = 1
GUICtrlCreateListViewItem($kb & "|bereits installiert", $ListView)
Else
$installiert = 0
GUICtrlCreateListViewItem($kb & "|wird installiert", $ListView)
EndIf
;~ Next
EndFunc -
BugFix
ja dies hatte ich vorhin mal, nur ergibt sich da ein Problem.
Bsp. es sollen 3 Dateien verarbeitet werdendie Funktion _button() wird aufgerufen, dann werden Teile davon 3x aufgeführt.
Da nun die Func _Reg1() aus dieser Func _button() aufgerufen wird, wird Func_Reg1() insgesamt 9x aufgerufen.
Dies ist zu viel
-
hm,
aber $i ändert sich doch laufend.
Es soll immer das aktuelle $i von oben verwendet werden -
wie meinst du als Parameter

-
Hi,
ich habe $i definiert, nun soll dies auch in der Func von Reg1() erscheinen. Jedoch ist es leer. Warum?
Spoiler anzeigen
[autoit]#include <GUIConstants.au3>
[/autoit] [autoit][/autoit] [autoit]
#include <Array.au3>
#Include <File.au3>
#include <_ArrayDisplay2D.au3>
#include <_ArraySort_2ary.au3>Dim $schluessel1, $installiert, $durchgang, $kb, $array
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
Dim $gang[4]
Dim $array_datum[100][1]
Global $i$Form1 = GUICreate("AForm1", 633, 447, 193, 115)
[/autoit] [autoit][/autoit] [autoit]
GUIStartGroup()
$PC_Art_Desktop = GUICtrlCreateRadio("ARadio1", 72, 40, 49, 41)
$PC_Art_Laptop = GUICtrlCreateRadio("ARadio2", 72, 88, 57, 33)
GUIStartGroup()
$Win_XP_Pro = GUICtrlCreateRadio("ARadio3", 176, 56, 81, 25)
$Win_XP_MCE = GUICtrlCreateRadio("ARadio4", 176, 88, 97, 33)
GUIStartGroup()
$IE_6 = GUICtrlCreateRadio("ARadio5", 312, 48, 89, 25)
$IE_7 = GUICtrlCreateRadio("ARadio6", 312, 96, 97, 25)$Start = GUICtrlCreateButton("AButton1", 64, 136, 97, 33, 0)
[/autoit] [autoit][/autoit] [autoit]
$Beenden = GUICtrlCreateButton("AButton2", 192, 136, 121, 33, 0)$PC_Art = GUICtrlCreateLabel("ALabel1", 88, 16, 43, 17)
[/autoit] [autoit][/autoit] [autoit]
$Win_XP = GUICtrlCreateLabel("ALabel2", 184, 16, 43, 17)
$IE = GUICtrlCreateLabel("ALabel3", 320, 16, 43, 17)$ListView = GUICtrlCreateListView("Datei|Status", 440, 16, 169, 409)
[/autoit] [autoit][/autoit] [autoit];Pfade
[/autoit] [autoit][/autoit] [autoit]
$pfad_PC_Art_Desktop = "V:\Update-Pack\Desktop\"
$pfad_PC_Art_Laptop = "V:\Update-Pack\Laptop\"
$pfad_Win_XP_Pro = "V:\Update-Pack\XP Pro\"
$pfad_Win_XP_MCE = "V:\Update-Pack\XP MCE\"
$pfad_IE_6 = "V:\Update-Pack\IE 6\"
$pfad_IE_7 = "V:\Update-Pack\IE 7\"$schluessel1 = "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Hotfix"
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]GUISetState(@SW_SHOW)
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit];------------------------------------------------------------------------------------------------------------------------------------
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
Func _button()
msgbox(0, "", $gang[1] & " " & $gang[2] & " " & $gang[3])For $x = 1 to 3
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
$durchgang = $gang[$x]$anzahl = DirGetSize($durchgang, 3)
[/autoit] [autoit][/autoit] [autoit];Array ($Filelist) erzeugen (nur Dateinamen)
[/autoit] [autoit][/autoit] [autoit]
Dim $array_datum = 0
Dim $array_datum[$anzahl[1] + 1][2]
$array = _FileListToArray($durchgang, "*", 1);Array ($array_quelle) erzeugen (Dateinamen von $Filelist und Datum)
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
For $i = 1 to UBound($array)-1
$array_datum[$i][0] = $array[$i]
$dateidatum = FileGetTime($durchgang & $array_datum[$i][0], 0, 1)
$array_datum[$i][1] = $dateidatum
Next_ArraySort_2ary($array_datum, 1 , 0, False)
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
;~ _ArrayDisplay2D($array_datum, $durchgang)For $i = 1 to UBound($array)-1
[/autoit] [autoit][/autoit] [autoit]
;~ msgbox(0,"",StringLen($array_datum[$i][0]))
Select
Case StringLen($array_datum[$i][0]) = 30
;~ Msgbox(0,"",$i)
_Reg1()
If $installiert = 0 Then ;>>>>>>>>>>>>>>>>>>>>>>>>>>>> 0
_start1()
EndIf
;~
;~ Case StringInStr($array_datum[$i][0], "-v") > 0
;~ Msgbox(0,"","2")
;~ _Reg2()
;~ _start1();~ Case StringInStr($array_datum[$i][0], "WindowsMedia6") > 0
[/autoit] [autoit][/autoit] [autoit]
;~ Msgbox(0,"","4")
;~ _Reg4()
;~ _start1()
;~
;~ Case StringInStr($array_datum[$i][0], "IE7-") > 0
;~ Msgbox(0,"","5")
;~ _Reg5()
;~ _start1()
;~
;~ Case StringInStr($array_datum[$i][0], "XML-") > 0
;~ Msgbox(0,"","6")
;~ _Reg6()
;~ _start1();~ Case StringInStr($array_datum[$i][0], "WindowsMedia9") > 0
[/autoit] [autoit][/autoit] [autoit]
;~ Msgbox(0,"","7")
;~ _Reg7()
;~ _start1()EndSelect
[/autoit] [autoit][/autoit] [autoit]
;~ Msgbox(0,"","???")
Next
MsgBox(0,"", $i)
NextEndFunc
[/autoit] [autoit][/autoit] [autoit];------------------------------------------------------------------------------------------------------------------------------------
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]Func _Reg1()
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
;~ For $i = 1 to UBound($array)-1
;~ $x = $i
MsgBox(0,"", $i)
$kb = StringMid($array_datum[$i][0], 11,
;~ msgbox(0,"", $i)
$reg = RegRead($schluessel1 & "\" & $kb,"Installed")
If $reg = "1" Then
$installiert = 1
;~ Msgbox(0,$kb,"1")
GUICtrlCreateListViewItem($kb & "|bereits installiert", $ListView)
Else
$installiert = 0
;~ Msgbox(0,$kb,"0")
GUICtrlCreateListViewItem($kb & "|wird installiert", $ListView)
EndIf
;~ Next
EndFuncFunc _start1()
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
;~ For $i = 1 to UBound($array)-1
;~ ShellExecuteWait($durchgang & $array_datum[$i][0], "/passive /norestart")
;~ msgbox(0,"", $array_datum[$i][0])
;~ Next
EndFuncWhile 1
[/autoit] [autoit][/autoit] [autoit]
$msg = GUIGetMsg()
Select
Case $msg = $Beenden
ExitCase $msg = $GUI_EVENT_CLOSE
[/autoit]
Exit
Case $msg = $Start
_button()
Case $msg = $PC_Art_Desktop
$gang[1] = $pfad_PC_Art_Desktop
Case $msg = $PC_Art_Laptop
$gang[1] = $pfad_PC_Art_Laptop
Case $msg = $Win_XP_Pro
$gang[2] = $pfad_Win_XP_Pro
Case $msg = $Win_XP_MCE
$gang[2] = $pfad_Win_XP_MCE
Case $msg = $IE_6
$gang[3] = $pfad_IE_6
Case $msg = $IE_7
$gang[3] = $pfad_IE_7
EndSelect
WEnd -
Hi Bernd :musik2:
habs schnell getestet,
ist genausoGibts vielleicht ne Funktion, wo man den Explorer direkt in eine GUI einbinden kann?
Würde gerne noch die jeweiligen Dateisymbole wie im Explorer angezeigt bekommenEDIT: Bin ein bisschen weiter gekommen, wobei sich obiges Problem nicht gelöst hat.
Will nun das ganze sortieren, dass die Ordner oben stehen und dann darunter die Dateien.
Spoiler anzeigen
[autoit]#include <Array.au3>
[/autoit] [autoit][/autoit] [autoit]
#Include <GUIConstants.au3>
#include <GuiTreeView.au3>
#Include <File.au3>
#include <GuiListView.au3>
#include <_ArrayDisplay2D.au3>
#include <_ArraySort_2ary2.au3>Global $Tree
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
Global $SubTree
Global $merken = "\"
Global $merken2 = "\"Dim $time, $time2, $quellpfad, $quellpfad2, $merk
[/autoit] [autoit][/autoit] [autoit]
Dim $h_item;GUI erstellen
[/autoit] [autoit][/autoit] [autoit]
$Form1 = GUICreate("Browse", 800, 800, -1, -1, -1)
$TreeView = GUICtrlCreateTreeView(8, 8, 225, 273, BitOR($WS_BORDER,$TVS_HASBUTTONS, $TVS_HASLINES, $TVS_LINESATROOT, $TVS_DISABLEDRAGDROP, $TVS_SHOWSELALWAYS))
GUICtrlSetImage(-1, "shell32.dll", 3, 4)
GUICtrlSetImage(-1, "shell32.dll", 4, 2)
$ListView = GUICtrlCreateListView("Datei|Größe|Art|Datum", 300, 10, 500, 250, BitOR($LVS_SHOWSELALWAYS, $LVS_SINGLESEL, $LVS_SORTASCENDING))$TreeView2 = GUICtrlCreateTreeView(8, 408, 225, 273, BitOR($WS_BORDER,$TVS_HASBUTTONS, $TVS_HASLINES, $TVS_LINESATROOT, $TVS_DISABLEDRAGDROP, $TVS_SHOWSELALWAYS))
[/autoit] [autoit][/autoit] [autoit]
GUICtrlSetImage(-1, "shell32.dll", 3, 4)
GUICtrlSetImage(-1, "shell32.dll", 4, 2)
$ListView2 = GUICtrlCreateListView("Datei|Größe|Datum", 300, 410, 500, 250, BitOR($LVS_SHOWSELALWAYS, $LVS_SINGLESEL, $LVS_SORTASCENDING, $WS_EX_ACCEPTFILES ))
;~ GUICtrlSetState(-1,$GUI_DROPACCEPTED) ; to allow drag and dropping
$ok = GUICtrlCreateButton(">>>>>>>>>>>> &Weiter >>>>>>>>>>>>", 8, 288, 227, 25)
$test = GUICtrlCreateButton("kopieren", 308, 300, 227, 25)
$verschieben = GUICtrlCreateButton("verschieben", 308, 700, 227, 25);~ $input1=GUICtrlCreateInput("",20,350, 150)
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
;~ GUICtrlSetState(-1,$GUI_DROPACCEPTED) ; to allow drag and dropping;Spaltenbreite für die beiden Spalten festlegen
[/autoit] [autoit][/autoit] [autoit]
_GUICtrlListViewSetColumnWidth($listview, 0, 200)
_GUICtrlListViewSetColumnWidth($listview, 1, 50)
_GUICtrlListViewSetColumnWidth($listview, 2, 50)
_GUICtrlListViewJustifyColumn ($listview,1,1)_GUICtrlListViewSetColumnWidth($listview2, 0, 200)
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
_GUICtrlListViewSetColumnWidth($listview2, 1, 50)
_GUICtrlListViewSetColumnWidth($listview2, 2, 50)
_GUICtrlListViewJustifyColumn ($listview2,1,1)
GUISetState(@SW_SHOW);Laufwerk
[/autoit] [autoit][/autoit] [autoit]
$HDDrives = "V:"
Search($HDDrives , "*.*")
$var = IniReadSection("Files.ini", $HDDrives & "\")
For $h = 1 To $var[0][0]
$IniRead = IniRead("Files.ini", $HDDrives & "\", $h, "NotFound")
_Next($IniRead, "*.*", $h)
Next;~ _GUICtrlTreeViewSetState($treeview, $h_item, $TVIS_DROPHILITED)
[/autoit] [autoit][/autoit] [autoit]
;~ _GUICtrlTreeViewSetState($treeview, $h_item, $TVIS_SELECTED)
$HDDrives2 = "D:"
Search2($HDDrives2 , "*.*")
$var2 = IniReadSection("Files.ini", $HDDrives2 & "\")
For $h2 = 1 To $var2[0][0]
$IniRead2 = IniRead("Files.ini", $HDDrives2 & "\", $h2, "NotFound")
_Next($IniRead2, "*.*", $h2)
Next
;~ $merk = 0
;~ _GUICtrlTreeViewSetState($treeview2, $h_item, $TVIS_SELECTED)
;~ _GUICtrlTreeViewSetState($treeview, $h_item, $TVIS_DROPHILITED);~ $quellpfad2 = $HDDrives2 & "\"
[/autoit] [autoit][/autoit] [autoit]
While 1
$msg = GUIGetMsg()
Select
Case $msg = $ok
;~ Run("explorer.exe "& _GUICtrlTreeViewGetTree($TreeView,"\"))Case $msg = $GUI_EVENT_CLOSE
[/autoit] [autoit][/autoit] [autoit]
Exit
Case $msg = $test
$item = _GUICtrlListViewGetItemTextArray($listview)
If (Not IsArray($Item)) Then
msgbox(0,"Ordner", "FEHLER")
Else
msgbox(0,"", $quellpfad & $item[1] & " " & "D:\" & $item[1])
FileCopy($quellpfad & $item[1], "D:\" & $item[1])
EndIf
Case $msg = $verschieben
$item = _GUICtrlListViewGetItemTextArray($listview)
If (Not IsArray($Item)) Then
msgbox(0,"Ordner", "FEHLER")
Else
msgbox(0,"", $quellpfad & $item[1] & " " & $quellpfad2 & $item[1])
FileMove($quellpfad & $item[1], $quellpfad2 & $item[1])
_aktualisieren()
_aktualisieren2()
EndIf
EndSelect
_check()
_check2()
WEnd
Func _check()
$quellpfad = _GUICtrlTreeViewGetTree($treeview, "\") & "\"
If $merken <> $quellpfad Then
_aktualisieren()
$merken = $quellpfad
Else
EndIf
EndFunc ;==>_check
Func _aktualisieren()
_GUICTRLListViewDeleteAllItems($listview)
;~ If $merk = 0 Then
;~ $quellpfad ="D:\"
;~ $merk = 1
;~ Else
$quellpfad = _GUICtrlTreeViewGetTree($treeview, "\") & "\"
;~ EndIF
;~ $quellpfad ="D:\"
;Größe des Arrays anhand von vorhandenen Dateien einstellen
$anzahl = DirGetSize($quellpfad, 3);Array ($Filelist) erzeugen (nur Dateinamen)
[/autoit] [autoit][/autoit] [autoit]
Dim $array_quelle = 0
Dim $array_quelle[$anzahl[1] + $anzahl[2] + 1][4]
$array = _FileListToArray($quellpfad, "*", 0)
;~ _ArrayDisplay($array)
;~ msgbox(0,"",$array[1]);Array ($array_quelle) erzeugen (Dateinamen von $Filelist und Datum)
[/autoit] [autoit][/autoit] [autoit]
For $i = 1 to UBound($array)-1
$array_quelle[$i][0] = $array[$i]$xxx = DirGetSize($quellpfad & $array_quelle[$i][0], 1)
[/autoit] [autoit][/autoit] [autoit]
If @error = 1 Then
$yyy = FileGetSize($quellpfad & $array_quelle[$i][0])
$array_quelle[$i][1] = $yyy
$array_quelle[$i][2] = "Datei"
Else
;~ $array_quelle[$i][1] = $xxx[0]
$array_quelle[$i][1] = ""
$array_quelle[$i][2] = "Ordner"
EndIf
$time = FileGetTime($quellpfad & $array[$i], 0)
$array_quelle[$i][3] = $time[2] & "." & $time[1] & "." & $time[0] & " " & $time[3] & ":" & $time[4] & ":" & $time[5]
;~ _ArrayDisplay2D($array_quelle,"$array_quelle")
Next;~ _ArraySort_2ary($array_quelle,2,0)
[/autoit] [autoit][/autoit] [autoit]
_ArrayDisplay2D($array_quelle,"$array_quelle")
;Einträge für ListView vornehmen (Datei und Datum)
For $i = 1 To UBound($array) - 1$size = DirGetSize($quellpfad & $array[$i], 1)
[/autoit] [autoit][/autoit] [autoit]
If @error = 1 Then
$yyy = FileGetSize($quellpfad & $array[$i])
$groesse = Round(($yyy+1024) / 1024, 0)
Else
;~ $groesse = Round(($size[0]) / 1024, 0)
$groesse = ""
EndIf$time = FileGetTime($quellpfad & $array[$i], 0)
[/autoit] [autoit][/autoit] [autoit]
$datum = $time[2] & "." & $time[1] & "." & $time[0] & " " & $time[3] & ":" & $time[4] & ":" & $time[5]
GUICtrlCreateListViewItem($array[$i] & "|" & $groesse & " KB" & "|" & $datum, $listview)
;~ GUICtrlCreateListViewItem($array_quelle[$i][0] & "|" & $array_quelle[$i][1] & " KB" & "|" & $array_quelle[$i][2], $listview)
Next;Einträge vom ListView sortieren
[/autoit] [autoit][/autoit] [autoit]
;~ Dim $B_DESCENDING[_GUICtrlListViewGetSubItemsCount($listview) ];$B_DESCENDING
;~ _GUICtrlListViewSort($listview, $B_DESCENDING, 0); $B_DESCENDING
;~ _GUICtrlListViewSort($listview, $B_DESCENDING, 0); $B_DESCENDING (wenn andersrum sortieren, dann deaktivieren)EndFunc
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
[/autoit] [autoit][/autoit] [autoit]
;Functions
;///////////////////////////////////////////
Func Search($SearchPath, $FileType)
$Item1 = GUICtrlCreateTreeViewItem(StringUpper($SearchPath), $TreeView)
GUICtrlSetImage(-1, "shell32.dll",
$SearchPath &= "\"
$Search = FileFindFirstFile($SearchPath & $FileType)
If $Search = -1 Then
MsgBox(0, "Error", "No files/directories matched the search pattern")
Exit
EndIf
$Count = 1
Dim $Tree[99999]
While 1
$File = FileFindNextFile($Search)
If @error Then ExitLoop
$Attrib = FileGetAttrib($SearchPath & $File)
If StringInStr($Attrib, "D") Then
$Tree[$Count] = GUICtrlCreateTreeViewItem($File, $Item1)
IniWrite("Files.ini", $SearchPath, $Count, $SearchPath & $File & "\")
$Count = $Count + 1
EndIf
WEnd
FileClose($Search)
EndFunc ;==>Search
;--------------------------------------------------------------------------------------------------------------------------------------------------------------
[/autoit] [autoit][/autoit] [autoit]
Func _check2()
$quellpfad2 = _GUICtrlTreeViewGetTree($treeview2, "\") & "\"
If $merken2 <> $quellpfad2 Then
_aktualisieren2()
$merken2 = $quellpfad2
Else
EndIf
EndFunc ;==>_check
Func _aktualisieren2()
_GUICTRLListViewDeleteAllItems($listview2)
$quellpfad2 = _GUICtrlTreeViewGetTree($treeview2, "\") & "\";Größe des Arrays anhand von vorhandenen Dateien einstellen
[/autoit] [autoit][/autoit] [autoit]
$anzahl2 = DirGetSize($quellpfad2, 3);Array ($Filelist) erzeugen (nur Dateinamen)
[/autoit] [autoit][/autoit] [autoit]
Dim $array_quelle2 = 0
Dim $array_quelle2[$anzahl2[1] + 1][3]
$array2 = _FileListToArray($quellpfad2, "*", 1);Array ($array_quelle) erzeugen (Dateinamen von $Filelist und Datum)
[/autoit] [autoit][/autoit] [autoit]
For $i = 1 to UBound($array2)-1
$array_quelle2[$i][0] = $array2[$i]
$array_quelle2[$i][1] = FileGetSize($quellpfad2 & $array_quelle2[$i][0])
$time2 = FileGetTime($quellpfad2 & $array2[$i], 0)
$array_quelle2[$i][2] = $time2[2] & "." & $time2[1] & "." & $time2[0] & " " & $time2[3] & ":" & $time2[4] & ":" & $time2[5]
Next_ArraySort_2ary($array_quelle2,0,0)
[/autoit] [autoit][/autoit] [autoit]
;~ _ArrayDisplay2D($array_quelle,"$array_quelle")
;Einträge für ListView vornehmen (Datei und Datum)
For $i = 1 To UBound($array2) - 1
$time2 = FileGetTime($quellpfad2 & $array2[$i], 0)
$size2 = FileGetSize($quellpfad2 & $array2[$i])
$groesse2 = Round(($size2+1024) / 1024, 0)
$time2 = FileGetTime($quellpfad2 & $array2[$i], 0)
$datum2 = $time2[2] & "." & $time2[1] & "." & $time2[0] & " " & $time2[3] & ":" & $time2[4] & ":" & $time2[5]
GUICtrlCreateListViewItem($array2[$i] & "|" & $groesse2 & " KB" & "|" & $datum2, $listview2)
Next;Einträge vom ListView sortieren
[/autoit] [autoit][/autoit] [autoit]
;~ Dim $B_DESCENDING[_GUICtrlListViewGetSubItemsCount($listview) ];$B_DESCENDING
;~ _GUICtrlListViewSort($listview, $B_DESCENDING, 0); $B_DESCENDING
;~ _GUICtrlListViewSort($listview, $B_DESCENDING, 0); $B_DESCENDING (wenn andersrum sortieren, dann deaktivieren)EndFunc
[/autoit] [autoit][/autoit] [autoit]
[/autoit] [autoit][/autoit] [autoit]
;Functions
;///////////////////////////////////////////
Func Search2($SearchPath, $FileType)
$Item1 = GUICtrlCreateTreeViewItem(StringUpper($SearchPath), $TreeView2)
GUICtrlSetImage(-1, "shell32.dll",
$SearchPath &= "\"
$Search = FileFindFirstFile($SearchPath & $FileType)
If $Search = -1 Then
MsgBox(0, "Error", "No files/directories matched the search pattern")
Exit
EndIf
$Count = 1
Dim $Tree[99999]
While 1
$File = FileFindNextFile($Search)
If @error Then ExitLoop
$Attrib = FileGetAttrib($SearchPath & $File)
If StringInStr($Attrib, "D") Then
$Tree[$Count] = GUICtrlCreateTreeViewItem($File, $Item1)
IniWrite("Files.ini", $SearchPath, $Count, $SearchPath & $File & "\")
$Count = $Count + 1
EndIf
WEnd
FileClose($Search)
EndFunc ;==>Search
;--------------------------------------------------------------------------------------------------------------------------------------------------------------
[/autoit] [autoit][/autoit] [autoit]
[/autoit]
Func _Next($SearchPath, $FileType, $Number)
$Search1 = FileFindFirstFile($SearchPath & $FileType)
If $Search1 = -1 Then
Else
$Count = 1
Dim $SubTree[99999]
While 1
$NextFile = FileFindNextFile($Search1)
If @error Then ExitLoop
$Attrib = FileGetAttrib($SearchPath & $NextFile)
If $Attrib = "D" Then;StringInStr($Attrib,"D") Then
If $NextFile = "." Or $NextFile = ".." Then
Else
$FBuffer = $SearchPath & $NextFile & "\"
$SubTree[$Count] = GUICtrlCreateTreeViewItem($NextFile, $Tree[$Number])
$Search2 = FileFindFirstFile($FBuffer & "*.*")
If $Search2 = -1 Then
;~ msgbox(0,"","Ingen mapper")
Else
$Count1 = 1
While 1
$NextFile2 = FileFindNextFile($Search2)
If @error Then ExitLoop
$Attrib = FileGetAttrib($FBuffer & $NextFile2)
If $Attrib = "D" Then;StringInStr($Attrib,"D") Then
If $NextFile2 = "." Or $NextFile2 = ".." Then
Else
GUICtrlCreateTreeViewItem($NextFile2, $SubTree[$Count])
$Count1 = $Count1 + 1
EndIf
EndIf
WEnd
FileClose($Search2)
EndIf
;msgbox(0,"","Stop " & $Count)
$Count = $Count + 1
EndIf
EndIf
WEnd
FileClose($Search1)
EndIf
EndFunc ;==>_Next