Beiträge von autoiter
-
-
Hallo @Paul01,
AutoIt ist als Virenschleuder ziemlich verschrien. Das hat auch seine Gründe. Dein beschriebenes Szenario passt da ziemlich gut.. -
Hallo @AspirinJunkie,
ich würde mich extremst freuen, wenn du folgendes noch mal kurz referierst:Eventuell kannst du die Auslastung noch weiter minimieren indem du das Skript permant in den Schlaf schickst und Windows anweist das Skript aufzuwecken sobald ein neues Fenster erstellt wurde.
Also die Windows-Events abfangen....
Kommt das angesprochene Fenster in den Vordergrund?
Dann wäre $EVENT_SYSTEM_FOREGROUND als Event sicherlich besser.Kann ich $EVENT_SYSTEM_FOREGROUND (0x3) einfach in deinem Skript durch andere Events tauschen? (https://msdn.microsoft.com/en-us/library/…6(v=vs.85).aspx)
-
Hallo @AspirinJunkie,
vielen Dank für deine UDF und das BeispielIch kann nicht behaupten, dass ich den Code auf den ersten Blick verstehe und ich habe nur dein Beispiel getestet. Allerdings sehen die Beispiele super aus und ich will das noch testen. Eine JSON UDF kann ich definitiv gebrauchen.
Wäre es Quatsch auch direkt eine Umwandung von xDArray zu JSON und umgekehrt einzubauen?
-
@xXIVXx,
Leider teilst du dir den Platz 1 nicht mit Tweaky sondern mit seinem nach Zufall tippendem Bot. Herzlichen Glückwunsch dazu.
Aber was soll ich sagen, ich war letzte Saison schon schlechter als der Zufall. Diesmal mache ich ihn aber fertig! -
Letztlich müssen das wohl die Admins/Mods entscheiden.
.. wenn überhaupt ein Fehlverhalten festgestellt wird.
Ich habe ja auch Vorbehalte gegen den Thread geäußert. Allerdings tat ich das als Hinweis absichtlich in der flüchtigen Shoutbox (Juck hat das hie rselbst gepostet ).
Ich finde es absolut daneben, dass bei einem User, der über TAUSEND Beiträge hat, ein solches Fass aufgemacht wird. Der Thread ist aus meiner Sicht jetzt schon vergiftet, bevor Yjuq irgendetwas richtig falsch machen konnte!!!
Vielleicht öffnest du @Yjuq besser einzelne Threads für deine einzelnen Themen. Das würde wenigstens diese Diskreditierungen wegschneiden. -
Okay, dein Name gefällt mir einfach nicht. Gegen deinen Thread möchte ich nun allerdings nichts mehr schreiben. Vielen Dank für die kurze Erläuterung.
Hau rein. Ich freue mich auf interessante Themen. -
Hallo @Gun-Food,
wie sieht es mit dem Forum-Update aus? Hast du da einen Zeitplan? Ich schaue immer mal wieder in das Testforum. Allerdings tut sich da ja seit Anfang des Jahres nichts mehr, oder?
Ich würde mich über eine Wetterstandsmeldung freuen. -
Nein leider nicht, da ich gerade unterwegs bin.Aber mit dem Ergebnis kann ich leben
-
Hallo Tippspiel-Gemeinde
Ich bin dabei. Allerdings möchte ich meinen Titel nicht verteidigen
Allen Viel Erfolg.PS: An alle: Bis Freitag Abend 20:29 Uhr tippen und ihr seid dabei
-
Hallo @Dreamworker
eigentlich ist so ein strikter Filter doch gar nicht notwendig. Die gefundenen Dateien werden doch eh mit den Dateinamen aus deiner Liste abgeglichen..
Ändere doch einfach die Zeile :zu
-
Hallo @MoveJockey,
Kann es sein, dass du versehentlich zu viele Zeilen im Skript hast? Du benutzt ja ControlSend ohne ein Control anzugeben. Daher schreibt die Funktion wohl genauso wahllos drauf los, wie Send. Daher musst du im richtigen Feld sein, wenn du schreiben willst.
Kann es sein, dass du einen Tab zu viel machst, weil du noch Send($pass) und Tab zwischen den ControlSend stehen hast?AutoItControlSend("", "", "", $pcname) Send("{TAB}") Send($pass) Send("{TAB}") ControlSend("", "", "", $tvpass)
EDIT: Gerade in der Shoutbox gelesen, dass es sich bereits erledigt hatte...
-
Hallo @Sonderbaar,
Mit _ArrayAdd fügst du ja dem Array jedes mal eine Zeile hinzu. Daher erzeugst du bei jedem Schleifendurchlauf auch mit zwei _ArrayAdd zwei Zeilen.
Dabei ist es hier eigentlich auch völlig unnötig mit _ArrayAdd zu arbeiten. Du kennst ja die maximale Größe deines Arrays und hast es schon ausreichend groß deklariert. Daher kannst du mit einfachen Zuweisungen in der Schleife arbeiten.
Ersetze mal die beiden _ArrayAdd-Zeilen duch diese:AutoIt$aSplitName = StringSplit($aSplit[102], "|") If Not @error Then $newarray[$i][0] = $aSplitName[1] $newarray[$i][1] = $aSplitName[2] Else $newarray[$i][0] = $aSplit[102] EndIf $newarray[$i][2] = $aSplit[114]
Edit: Sorry, habe mir dein Array erst nach meinem Beitrag angesehen und gemerkt, dass Namen mit Straße wohl nicht in eine Spalte sollten. Daher habe ich noch ein StringSplit ergänzt.
-
Hallo @erBBga,
weil du dich so nett bedankt hast, möchte ich dich warnen.
Falls du es in etwa so gemacht, wie ich vorgeschlagen habe und nun etwa so einen String in deinem $aArray speicherst:
$aArray[0][1] = $aStringBetween[0] solltest du unbedingt Fehler prüfen, da sonst die gleichen Abstürze passieren, wie du es in Beitrag 3 beschrieben hast. Also wenn _StringBetween nicht erfolgreich war, gibt es kein Array zurück. Folglich gibt es auch kein erstes Element in diesem Array. Wenn du dann das erste mal mit $aStringBetween[0] arbeiten willst, stürzt das Skript ab, weil du auf ein Element zugreifst, dass es nicht gibt. Das kann schnell passieren, wenn du nicht, wie in deinem Bsp. sicher weißt, ob etwas in einem Text zu finden ist.Das unten soll nur beispielhaft die Methoden zeigen. Man kann sie sicherlich intelligenter anwenden
AutoIt
Alles anzeigen; Direkt nach der Funktion kannst du mit @error auf Fehler prüfen. Local $aStringBetween = _StringBetween($string, $beginn2, $ende2) If @error Then MsgBox(0,"", "Gewünschter String wurde nicht gefunden.") ; ... weiteres EndIf ; Wenn du erst später das Ergebnis prüfst, kannst du testen ob es ein Array ist. If Not IsArray($aStringBetween) Then MsgBox(0,"", "$aStringBetween ist kein Array!") ; ... weiteres EndIf ; Wenn du mehrere Ergebnisse aus _StringBetween erwartest und bspw. auf das ; dritte Element $aStringBetween[2] zugreifen willst, musst du wissen, dass ; das Array auch so viele Elemente hat. Mit Ubound erhältst du die Anzahl. If UBound($aStringBetween) >= 3 Then $aArray[0][1] = $aStringBetween[2] EndIf
-
Ja, das Array mach nun keine Probleme mehr. Allerdings kannst du die Werte nicht so auslesen wie du möchtest. Schau dir nochmal Beitrag 4 hier an.
_StringBetween gibt keinen String sondern ein Array aus.
Je nachdem, wie viele Treffer du hast, hat dieses Array mehr oder weniger Elemente.
Speichere die Daten besser in einem anderen Array, auf das du dann zugreifst. Das ist sicher einfacher für dich. Ich gehe mal davon aus, du hast jeweils nur einen Treffer. Dann sieht das für jedes _StringBetween so aus: -
Hehe, gerade fällt es mir auf.
Wir hatten wohl beide ein Brett vor dem KopfAutoIt
Alles anzeigenLocal $aArray[0][3] ;Auslesen vom 1. Textteil $beginn1 = "Um" ;Variable mit dem Text vor dem gesuchten Textinhalt $ende1 = "Uhr" ;Variable mit dem Text nach dem gesuchten Textinhalt Local $aArray[0][0] = _StringBetween($string, $beginn1, $ende1) ;Ließt "Beispielsatz aus und legt den String in das Array ;Auslesen vom 2. Textteil $beginn2 = "diesen " $ende2 = " am" Local $aArray[0][1] = _StringBetween($string, $beginn2, $ende2) ;Auslesen vom 3. Textteil $beginn3 = "am PC " $ende3 = "" ;Der gesuchte Textinhalt geht bis zum Ende vom Text Local $aArray[0][2] = _StringBetween($string, $beginn3, $ende3) ;Vergleich vom 3. Textteil mit einem Vergleichstext If $aArray[0][2] = "geschrieben" Then
Lass mal nach Local $aArray[0][3] das Local weg und schreibe auch in der Zeile $aArray[1][3].
Danach weise die Werte wie bisher zu. Allerdings ohne Local.. -
Hmm, ich habe das jetzt nicht getestet. Allerdings scheint mir dein Vorgehen schon daneben. Im Erfolgsfall gibt _StringBetween ein Array zurück. Das speicherst du hier z.B. in $aArray[0][2]
Local $aArray[0][2] = _StringBetween($string, $beginn3, $ende3)
Damit ist $aArray[0][2] mit einem Array im Array belegt. Auf einen Wert in dem Array kannst du nicht einfach mit
If $aArray[0][2] = "geschrieben" Then zugreifen.
Du musst außerdem mal ein wenig auf Fehler prüfen.
Schreibe unter dieser Zeile mal
Local $aArray[0][2] = _StringBetween($string, $beginn3, $ende3)
folgendes:If @error Then MsgBox(0, "Fehler", @error)
Wenn in der Messagebox eine 1 steht, war dein vorheriger Aufruf von _StringBetween nicht erfolgreich. Folglich kannst du auch nicht auf $aArray[0][2] zugreifen und musst das ausschließen. -
Hallo @erBBga,
Das kann man einfach mit einer Schleife machen.
Aber wahrscheinlich genügt dir schon _ArrayToString (klingt auch genau danach, was du willst ).
Ausschnitt aus dem Hilfebeispiel: -
Deine letzte Anmerkung mit dem Jahr habe ich gerade erst gelesen. In diesem Skript wäre das enthalten. Allerdings bin ich wahrscheinlich eh zu doof. Ich müsste das Skript wohl selbst mal ausführen. So fehlt mir offensichtlich die Vorstellungskraft.
Eigentlich kann diese Meldung nur gekommen sein, weil der ausgewählte Pfad keinen Backslash enthielt..
Also nehme ich mal an, die Variable war leer. Mir ist aufgefallen, dass sie an unterschiedlichen Stellen verwandt wurde und ich habe sie einmal umbenannt. Die Variable wird nur richtig gefüllt, wenn du während der Ausführung ein Projekt auswählst.
Hier das Skript. Wenn es nicht läuft, kann ich mich nur entschuldigen. Da muss ein fähigerer User ran.Spoiler anzeigen
AutoIt
Alles anzeigen#include <File.au3> #include <ListViewConstants.au3> #include <GuiListView.au3> #include <WindowsConstants.au3> #include <GUIConstantsEx.au3> Global $iWidth=800,$iHeight=900,$sStartFolder="E:\Daten\",$sTargetFolder="F:\Dokumente\Aussendienst\",$arFileListViewItems[0], $sSourceFolder $hGui=GUICreate("Datensicherung von PANASONIC auf SERVER",$iWidth,$iHeight) $iStartFolderLabel=GUICtrlCreateLabel("Startordner: ",5,7,55,20) $iStartFolderInput=GUICtrlCreateInput($sStartFolder,65,5,$iWidth-100-40,20) GUICtrlSetState(-1,$GUI_DISABLE) $iStartFolderButton=GUICtrlCreateButton("...",$iWidth-70,2,30,25) GUICtrlSetState(-1,$GUI_DISABLE) $iTargetFolderLabel=GUICtrlCreateLabel("Zielordner: ",5,$iHeight-22-30,55,20) $iTargetFolderInput=GUICtrlCreateInput($sTargetFolder,65,$iHeight-25-30,$iWidth-65-40,20) GUICtrlSetState(-1,$GUI_DISABLE) $iStartFolderGo=GUICtrlCreateButton("List",$iWidth-35,2,30,25) $iFileListView=GUICtrlCreateListView("File",5,30,$iWidth-10,$iHeight-30-85,-1,BitOR($LVS_EX_CHECKBOXES,$LVS_EX_FULLROWSELECT,$WS_EX_CLIENTEDGE)) _GUICtrlListView_SetColumnWidth($iFileListView,0,$iWidth-35) $iTargetFolderButton=GUICtrlCreateButton("...",$iWidth-35,$iHeight-27-30,30,25) GUICtrlSetState(-1,$GUI_DISABLE) $iCopyProgress=GUICtrlCreateProgress(5,$iHeight-25,$iWidth-165,20) $iCopyStartButton=GUICtrlCreateButton("Start",$iWidth-155,$iHeight-25,75,20) $iCopyStopButton=GUICtrlCreateButton("Stop",$iWidth-80,$iHeight-25,75,20) ;$iDelButton=GUICtrlCreateButton("Löschen",$iWidth-155,$iHeight-25,75,20) GUICtrlSetState($iCopyStopButton,$GUI_DISABLE) GUISetState() _ListFiles(GUICtrlRead($iStartFolderInput)) While 1 $iMsg=GUIGetMsg() Switch $iMsg case -3 exit case $iStartFolderButton $sSourceFolder=FileSelectFolder("Wähle Start Ordner","",0,$sStartFolder,$hGui) If $sSourceFolder<>"" Then GUICtrlSetData($iStartFolderInput,$sFolder) _ListFiles(GUICtrlRead($iStartFolderInput)) case $iStartFolderGo _ListFiles(GUICtrlRead($iStartFolderInput)) case $iCopyStartButton _MoveDir() case $iTargetFolderButton $sFolder=FileSelectFolder("Wähle Ziel Ordner","",0,$sTargetFolder,$hGui) If $sFolder<>"" Then GUICtrlSetData($iTargetFolderInput,$sFolder) EndSwitch WEnd Func _ListFiles($sPath) If Not FileExists(GUICtrlRead($iStartFolderInput)) Then Return MsgBox(0, "Titel", "Das Start-Verzeichnis existiert nicht!") _GUICtrlListView_DeleteAllItems($iFileListView) local $arFiles=_FileListToArray($sPath,"*",$FLTA_FOLDERS,true) ReDim $arFileListViewItems[UBound($arFiles)-1] for $i=1 to UBound($arFiles)-1 step 1 $arFileListViewItems[$i-1]=GUICtrlCreateListViewItem($arFiles[$i],$iFileListView) next EndFunc Func _MoveDir() ;GUICtrlSetState($iStartFolderInput,$GUI_DISABLE) ;GUICtrlSetState($iStartFolderButton,$GUI_DISABLE) GUICtrlSetState($iStartFolderGo,$GUI_DISABLE) ;GUICtrlSetState($iTargetFolderInput,$GUI_DISABLE) ;GUICtrlSetState($iTargetFolderButton,$GUI_DISABLE) GUICtrlSetState($iCopyStartButton,$GUI_DISABLE) GUICtrlSetState($iCopyStopButton,$GUI_ENABLE) ;GUICtrlSetState($iDelButton,$GUI_ENABLE) local $arMoveDir[_GUICtrlListView_GetItemCount($iFileListView)][2],$iCount=0 for $i=0 to _GUICtrlListView_GetItemCount($iFileListView)-1 step 1 If _GUICtrlListView_GetItemChecked($iFileListView,$i) Then $arMoveDir[$iCount][0]=_GUICtrlListView_GetItemText($iFileListView,$i,0) $arMoveDir[$iCount][1]=$i $iCount+=1 Else GUICtrlSetBkColor($arFileListViewItems[$i],0xFFFF00) EndIf next ReDim $arMoveDir[$iCount][2] GUICtrlSetData($iCopyProgress,0) local $iTargetFolder=GUICtrlRead($iTargetFolderInput) $aSplit = StringSplit($sSourceFolder, "\") If @error Then Return MsgBox(0, "Titel", "Kein passendes Startverzeichnis ausgewählt!") Local $sProject = $aSplit[$aSplit[0]] If StringLen($sProject) <= 2 Then Return MsgBox(0, "Titel", "Projektname zu kurz!") $iTargetFolder = $iTargetFolder & "\" & @YEAR & "\" & StringTrimLeft($sProject, 2) & "\Berechnungen" local $iPercent=0 for $i=0 to UBound($arMoveDir)-1 step 1 If Int($i/UBound($arMoveDir)*100)<>$iPercent Then $iPercent=Int($i/UBound($arMoveDir)*100) GUICtrlSetData($iCopyProgress,$iPercent) EndIf local $arFile=StringSplit($arMoveDir[$i][0],"\",1+2) local $sFilename=$arFile[UBound($arFile)-1] If DirCopy($arMoveDir[$i][0],$iTargetFolder&"\"&$sFilename,BitOR(1,8)) Then GUICtrlSetBkColor($arFileListViewItems[$arMoveDir[$i][1]],0x00FF00) Else GUICtrlSetBkColor($arFileListViewItems[$arMoveDir[$i][1]],0xFF0000) EndIf Switch GUIGetMsg() case -3 exit case $iCopyStopButton ExitLoop EndSwitch next GUICtrlSetData($iCopyProgress,100) ;GUICtrlSetState($iStartFolderInput,$GUI_ENABLE) ;GUICtrlSetState($iStartFolderButton,$GUI_ENABLE) GUICtrlSetState($iStartFolderGo,$GUI_ENABLE) ;GUICtrlSetState($iTargetFolderInput,$GUI_ENABLE) ;GUICtrlSetState($iTargetFolderButton,$GUI_ENABLE) GUICtrlSetState($iCopyStartButton,$GUI_ENABLE) GUICtrlSetState($iCopyStopButton,$GUI_DISABLE) EndFunc
-
Sorry, war gerade unterwegs. Ich bin bemüht aber glücklos
Spoiler anzeigen
AutoIt
Alles anzeigen#include <File.au3> #include <ListViewConstants.au3> #include <GuiListView.au3> #include <WindowsConstants.au3> #include <GUIConstantsEx.au3> Global $iWidth=800,$iHeight=900,$sStartFolder="E:\Daten\",$sTargetFolder="F:\Dokumente\Aussendienst\",$arFileListViewItems[0], $sFolder $hGui=GUICreate("Datensicherung von PANASONIC auf SERVER",$iWidth,$iHeight) $iStartFolderLabel=GUICtrlCreateLabel("Startordner: ",5,7,55,20) $iStartFolderInput=GUICtrlCreateInput($sStartFolder,65,5,$iWidth-100-40,20) GUICtrlSetState(-1,$GUI_DISABLE) $iStartFolderButton=GUICtrlCreateButton("...",$iWidth-70,2,30,25) GUICtrlSetState(-1,$GUI_DISABLE) $iTargetFolderLabel=GUICtrlCreateLabel("Zielordner: ",5,$iHeight-22-30,55,20) $iTargetFolderInput=GUICtrlCreateInput($sTargetFolder,65,$iHeight-25-30,$iWidth-65-40,20) GUICtrlSetState(-1,$GUI_DISABLE) $iStartFolderGo=GUICtrlCreateButton("List",$iWidth-35,2,30,25) $iFileListView=GUICtrlCreateListView("File",5,30,$iWidth-10,$iHeight-30-85,-1,BitOR($LVS_EX_CHECKBOXES,$LVS_EX_FULLROWSELECT,$WS_EX_CLIENTEDGE)) _GUICtrlListView_SetColumnWidth($iFileListView,0,$iWidth-35) $iTargetFolderButton=GUICtrlCreateButton("...",$iWidth-35,$iHeight-27-30,30,25) GUICtrlSetState(-1,$GUI_DISABLE) $iCopyProgress=GUICtrlCreateProgress(5,$iHeight-25,$iWidth-165,20) $iCopyStartButton=GUICtrlCreateButton("Start",$iWidth-155,$iHeight-25,75,20) $iCopyStopButton=GUICtrlCreateButton("Stop",$iWidth-80,$iHeight-25,75,20) ;$iDelButton=GUICtrlCreateButton("Löschen",$iWidth-155,$iHeight-25,75,20) GUICtrlSetState($iCopyStopButton,$GUI_DISABLE) GUISetState() _ListFiles(GUICtrlRead($iStartFolderInput)) While 1 $iMsg=GUIGetMsg() Switch $iMsg case -3 exit case $iStartFolderButton $sFolder=FileSelectFolder("Wähle Start Ordner","",0,$sStartFolder,$hGui) If $sFolder<>"" Then GUICtrlSetData($iStartFolderInput,$sFolder) _ListFiles(GUICtrlRead($iStartFolderInput)) case $iStartFolderGo _ListFiles(GUICtrlRead($iStartFolderInput)) case $iCopyStartButton _MoveDir() case $iTargetFolderButton $sFolder=FileSelectFolder("Wähle Ziel Ordner","",0,$sTargetFolder,$hGui) If $sFolder<>"" Then GUICtrlSetData($iTargetFolderInput,$sFolder) EndSwitch WEnd Func _ListFiles($sPath) If Not FileExists(GUICtrlRead($iStartFolderInput)) Then Return MsgBox(0, "Titel", "Das Start-Verzeichnis existiert nicht!") _GUICtrlListView_DeleteAllItems($iFileListView) local $arFiles=_FileListToArray($sPath,"*",$FLTA_FOLDERS,true) ReDim $arFileListViewItems[UBound($arFiles)-1] for $i=1 to UBound($arFiles)-1 step 1 $arFileListViewItems[$i-1]=GUICtrlCreateListViewItem($arFiles[$i],$iFileListView) next EndFunc Func _MoveDir() ;GUICtrlSetState($iStartFolderInput,$GUI_DISABLE) ;GUICtrlSetState($iStartFolderButton,$GUI_DISABLE) GUICtrlSetState($iStartFolderGo,$GUI_DISABLE) ;GUICtrlSetState($iTargetFolderInput,$GUI_DISABLE) ;GUICtrlSetState($iTargetFolderButton,$GUI_DISABLE) GUICtrlSetState($iCopyStartButton,$GUI_DISABLE) GUICtrlSetState($iCopyStopButton,$GUI_ENABLE) ;GUICtrlSetState($iDelButton,$GUI_ENABLE) local $arMoveDir[_GUICtrlListView_GetItemCount($iFileListView)][2],$iCount=0 for $i=0 to _GUICtrlListView_GetItemCount($iFileListView)-1 step 1 If _GUICtrlListView_GetItemChecked($iFileListView,$i) Then $arMoveDir[$iCount][0]=_GUICtrlListView_GetItemText($iFileListView,$i,0) $arMoveDir[$iCount][1]=$i $iCount+=1 Else GUICtrlSetBkColor($arFileListViewItems[$i],0xFFFF00) EndIf next ReDim $arMoveDir[$iCount][2] GUICtrlSetData($iCopyProgress,0) local $iTargetFolder=GUICtrlRead($iTargetFolderInput) $aSplit = StringSplit($sFolder, "\") If @error Then Return MsgBox(0, "Titel", "Kein passendes Startverzeichnis ausgewählt!") Local $sProject = $aSplit[$aSplit[0]] If StringLen($sProject) <= 2 Then Return MsgBox(0, "Titel", "Projektname zu kurz!") $iTargetFolder = $iTargetFolder & "\" & StringTrimLeft($sProject, 2) & "\Dokument-Explorer\Berechnungen" local $iPercent=0 for $i=0 to UBound($arMoveDir)-1 step 1 If Int($i/UBound($arMoveDir)*100)<>$iPercent Then $iPercent=Int($i/UBound($arMoveDir)*100) GUICtrlSetData($iCopyProgress,$iPercent) EndIf local $arFile=StringSplit($arMoveDir[$i][0],"\",1+2) local $sFilename=$arFile[UBound($arFile)-1] If DirCopy($arMoveDir[$i][0],$iTargetFolder&"\"&$sFilename,BitOR(1,8)) Then GUICtrlSetBkColor($arFileListViewItems[$arMoveDir[$i][1]],0x00FF00) Else GUICtrlSetBkColor($arFileListViewItems[$arMoveDir[$i][1]],0xFF0000) EndIf Switch GUIGetMsg() case -3 exit case $iCopyStopButton ExitLoop EndSwitch next GUICtrlSetData($iCopyProgress,100) ;GUICtrlSetState($iStartFolderInput,$GUI_ENABLE) ;GUICtrlSetState($iStartFolderButton,$GUI_ENABLE) GUICtrlSetState($iStartFolderGo,$GUI_ENABLE) ;GUICtrlSetState($iTargetFolderInput,$GUI_ENABLE) ;GUICtrlSetState($iTargetFolderButton,$GUI_ENABLE) GUICtrlSetState($iCopyStartButton,$GUI_ENABLE) GUICtrlSetState($iCopyStopButton,$GUI_DISABLE) EndFunc
Ich habe mit der falschen Variable gearbeitet. $sFolder beinhaltet deine Auswahl. Nicht $sStartFolder..