Verzeichniss Kopieren Umbennen Rechte setzten Fehler Routine

  • Hallo Leute,

    habe mal ein scrit geschrieben womit ich Home und Profile verzeichnisse anlegen kann wollte meine bacht umschreiben in autoit,
    es funktioniert auch ;)
    wollte gerne fehler Routinen einbauen bräuchte da mal hilfe ??
    Danke

    Spoiler anzeigen
    [autoit]

    #include <GUIConstantsEx.au3>
    #include <ListViewConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <ListViewConstants.au3>
    #include <array.au3>
    #include <File.au3>
    #include <GuiListView.au3>
    #include <GUIConstantsEx.au3>
    #include <ListViewConstants.au3>

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    Local $ad, $array1, $x = 0

    [/autoit] [autoit][/autoit] [autoit]

    #Region ### START Koda GUI section ### Form=
    $Form1 = GUICreate("Home Profile anlegen", 700, 510, 257, 323)
    $ListView1 = GUICtrlCreateListView("User", 24, 48, 170, 342)
    GUICtrlSendMsg($ListView1, $LVM_SETCOLUMNWIDTH, 0, 160) ; setzt die 1. Spalte des Listviews auf 160 Pixel Breite
    $Button1 = GUICtrlCreateButton("User Laden", 24, 400, 60, 25, 0)
    $Button2 = GUICtrlCreateButton("Eine ", 24, 432, 50, 25, 0)
    $Button3 = GUICtrlCreateButton("Alle", 75, 432, 50, 25, 0)
    $Button4 = GUICtrlCreateButton("export1", 136, 400, 59, 25, 0)
    $Button7 = GUICtrlCreateButton("Clear List", 80, 20, 59, 25, 0)

    [/autoit] [autoit][/autoit] [autoit]

    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###
    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $Button1
    _Load()
    Case $Button2
    _hp()
    Case $Button3
    _hpall()
    Case $Button4
    _export()
    Case $Button7
    _GUICtrlListView_DeleteAllItems($ListView1)

    [/autoit] [autoit][/autoit] [autoit]

    EndSwitch
    WEnd

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    Func _export()

    [/autoit] [autoit][/autoit] [autoit]

    $hWnd = $ListView1
    $path = FileSaveDialog('ListView-Export speichern', @ScriptDir, "CSV Datei (*.csv)")
    If @error Then Exit MsgBox(0, 'Fehler', 'Keine Zieldatei gewählt.')
    FileWrite($path & ".csv", _GUICtrlListView_Export($hWnd, 1, ','))

    [/autoit] [autoit][/autoit] [autoit]

    EndFunc ;==>_export

    [/autoit] [autoit][/autoit] [autoit]

    Func _Load() ;
    _GUICtrlListView_DeleteAllItems($ListView1) ; Das Handle eben noch bestimmen (s. Anfang des Threads)
    Local $sItem
    $FileOpenDialog = FileOpenDialog("Pc Liste Wählen", @ScriptDir & "\", "Pc Liste (*.txt;*.csv)", 1 + 4)
    Local $hFile = FileOpen($FileOpenDialog, 0) ; Datei zum lesen öffnen
    If $hFile <> -1 Then ; wenn das öffnen erfolgreich war, dann...
    _GUICtrlListView_BeginUpdate($ListView1) ; Listview sperren
    While True ; Endlosschleife
    $sItem = FileReadLine($hFile) ; Zeile aus der Datei lesen
    If @error Then ExitLoop ; wenn das Ende der Datei erreicht ist, dann Endlosschleife verlassen
    GUICtrlCreateListViewItem($sItem, $ListView1) ; mit den eingelesenen Daten einen neuen Listview-Eintrag erstellen
    WEnd
    _GUICtrlListView_EndUpdate($ListView1) ; Listview wieder freigeben
    FileClose($hFile) ; Datei schließen
    EndIf
    EndFunc ;==>_Load

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    Func _hpall()

    Local $icount = _GUICtrlListView_GetItemCount($ListView1)
    For $i = 0 To $icount - 1
    $ListViewText = _GUICtrlListView_GetItemTextArray($ListView1, $i)

    DirCopy("\\server\share\template", "\\server\share\home\" & ($ListViewText[1]), 1)
    If NOT @ERROR Then
    RunWait(@ComSpec & " /c " & 'CACLS.exe \\server\share\home\' & $ListViewText[1] & ' /T /E /G domäne\' & $ListViewText[1] & ':F', "", @SW_HIDE)
    Else
    MsgBox(0, "", "Beim HomeLaufwerk ist ein fehler aufgetretten bitte Prüfen")
    EndIf
    DirCopy("\\server\share\Template", "\\server\share\profil\" & ($ListViewText[1]), 1)
    If NOT @ERROR Then

    RunWait(@ComSpec & " /c " & '\\server\share\profil\' & $ListViewText[1] & ' /T /E /G domäne\' & $ListViewText[1] & ':F', "", @SW_HIDE)
    Else
    MsgBox(0, "", "Beim Profil ist ein fehler aufgetretten bitte Prüfen")
    EndIf
    Next
    EndFunc

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    Func _hp()

    [/autoit] [autoit][/autoit] [autoit]

    $ListViewText = _GUICtrlListView_GetItemTextArray($ListView1)

    DirCopy("\\server\share\template", "\\server\share\home\" & ($ListViewText[1]), 1)
    If NOT @ERROR Then
    RunWait(@ComSpec & " /c " & 'CACLS.exe \\server\share\home\' & $ListViewText[1] & ' /T /E /G domäne\' & $ListViewText[1] & ':F', "", @SW_HIDE)

    [/autoit] [autoit][/autoit] [autoit]

    Else
    MsgBox(0, "", "Beim HomeLaufwerk ist ein fehler aufgetretten bitte Prüfen")
    EndIf
    DirCopy("\\server\share\Template", "\\server\share\profil\" & ($ListViewText[1]), 1)
    If NOT @ERROR Then
    RunWait(@ComSpec & " /c " & '\\server\share\profil\' & $ListViewText[1] & ' /T /E /G domäne\' & $ListViewText[1] & ':F', "", @SW_HIDE)

    [/autoit] [autoit][/autoit] [autoit]

    Else
    MsgBox(0, "", "Beim Profil ist ein fehler aufgetretten bitte Prüfen")
    EndIf

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    EndFunc

    [/autoit] [autoit][/autoit] [autoit]

    Func _GUICtrlListView_Export($hWnd, $exType = 0, $Delim = Default) ; $exType=0 Array / $exType=1 String
    If Not IsHWnd($hWnd) Then $hWnd = GUICtrlGetHandle($hWnd)
    Local $row = _GUICtrlListView_GetItemCount($hWnd)
    If $exType Then
    If $Delim <> Default Then Local $oldDelim = Opt('GUIDataSeparatorChar', $Delim)
    Local $sOut = ''
    For $i = 0 To $row - 1
    $sOut &= _GUICtrlListView_GetItemTextString($hWnd, $i) & @CRLF
    Next
    If $Delim <> Default Then Opt('GUIDataSeparatorChar', $oldDelim)
    Return $sOut
    EndIf
    Local $col = _GUICtrlListView_GetColumnCount($hWnd)
    Local $aOut[$row][$col]
    If $col = 1 Then
    ReDim $aOut[$row]
    For $i = 0 To UBound($aOut) - 1
    $aOut[$i] = _GUICtrlListView_GetItemText($hWnd, $i)
    Next
    Return $aOut
    EndIf
    For $i = 0 To UBound($aOut) - 1
    For $j = 0 To UBound($aOut, 2) - 1
    $aOut[$i][$j] = _GUICtrlListView_GetItemText($hWnd, $i, $j)
    Next
    Next
    Return $aOut
    EndFunc ;==>_GUICtrlListView_Export

    [/autoit]

    lg SubZero ;)
    ==========================================================================

    "Der Computer ist die logische Weiterentwicklung des Menschen: Intelligenz ohne Moral."