gleiche datei in verschiedenen verzeichnissen löschen.

  • Hallo zusammen,

    ich hab ein Riesenproblem.
    Ich muss auf allen Rechner hier im Haus (220) eine Datei aus allen Userprofilen löschen.
    Es ist namentlich immer die gleiche Datei und in jedem Profil vorhanden.
    Ich könnte mir vorstellen mit Autoit eine suchvorgang nach dieser datei zustarten und das ergebnis (eben diese dateien) zu löschen.
    wie könnte man das bewerkstelligen ? vielleicht irgendwas mit filefindnextfile mit anschliessendem löschvorgang.
    wie sieht sowas aus ?

    vielen dank
    gruss bumblebee

  • Ich gehe mal davon aus das bei 220 Rechnern eine Domäne vorhanden ist ;)

    Warum regelst du das denn nicht einfach so:

    [Blockierte Grafik: http://public.bay.livefilestore.com/y1pnv6C9S64nh8ZiRxspj81F3907m3uZeIfAvhRfIXSOBRMIRW_zq5VTs_3JyvHkMbCDR5diUkhTJOjDFf7rF8qAw/GPODelete.png]

    Man muss doch nicht das Rad neu erfinden ^^

    Falls du doch keine Domäne hast und du immer mit nem USB-Stick rumrennst oder die Datei sich an unterschiedlichen Orten befindet:

    Spoiler anzeigen
    [autoit]

    $aFiles = _RecursiveFileListToArray(@UserProfileDir, "Dateiname",1)

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

    For $i = 1 To $aFiles[0]
    FileDelete($aFiles[$i])
    Next

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

    Func _RecursiveFileListToArray($sPath, $sPattern, $iFlag = 0, $iFormat = 1, $sDelim = @CRLF)
    Local $hSearch, $sFile, $sReturn = ''
    If StringRight($sPath, 1) <> '\' Then $sPath &= '\'
    $hSearch = FileFindFirstFile($sPath & '*.*')
    If @error Or $hSearch = -1 Then Return SetError(0, 0, $sReturn)
    While True
    $sFile = FileFindNextFile($hSearch)
    If @error Then ExitLoop
    If StringInStr(FileGetAttrib($sPath & $sFile), 'D') Then
    If StringRegExp($sPath & $sFile, $sPattern) And ($iFlag = 0 Or $iFlag = 2) Then $sReturn &= $sPath & $sFile & '\' & $sDelim
    $sReturn &= _RecursiveFileListToArray($sPath & $sFile & '\', $sPattern, $iFlag, 0)
    ContinueLoop
    EndIf
    If StringRegExp($sFile, $sPattern) And ($iFlag = 0 Or $iFlag = 1) Then $sReturn &= $sPath & $sFile & $sDelim
    WEnd
    FileClose($hSearch)
    If $iFormat Then Return StringSplit(StringTrimRight($sReturn, StringLen($sDelim)), $sDelim, $iFormat)
    Return $sReturn
    EndFunc

    [/autoit]

    21 is only half the truth.

  • Hi,

    ;) wir haben eine Domäne. Ich bin aber nur ein kleiner Hansel in einer grossen Umgebung und habe nicht die nötigen Rechte um in den
    Gruppenrichtlinien runzuwurschteln. Die werden uns von gaaaaaaaaaanz oben runtergedrückt. Der Aufwand wäre einfach zu gross, mit telefonieren, absprechen usw.usf.. Von daher muss die Verteilung per Zenworks reichen.

    Dennoch vielen Dank für die Antwort.

    gruss

  • Wieso dennoch hast du den Spoiler nicht gesehen?
    Da hat er doch noch eine zweite Lösung drinnen!

    mfg Ubuntu