DirCopy bestimmten Unterordner nicht einbeziehen

  • Hallo Leute,

    ich habe einen Quellordner "G:\PRJ\0000000" der mit der Zeit mit Unterordner ergänzt wird.
    Jetzt möchte ich Quellordner nach "T:\Dino\0000000" mit DirCopy kopieren, jedoch mehrere bestimmten Unterordner (Typicals, install, Dokumentation, Tools) ausschließen.
    Geht das und wenn ja wie?

    Viele Grüße,
    Dino

    Einmal editiert, zuletzt von Dino (21. Juni 2012 um 12:56)

  • Jetzt möchte ich Quellordner nach "T:\Dino\0000000" mit DirCopy kopieren, jedoch mehrere bestimmten Unterordner (Typicals, install, Dokumentation, Tools) ausschließen.Geht das und wenn ja wie?Viele Grüße,Dino

    mit DirCopy nicht denn

    Zitat

    DirCopy

    Kopiert einen Ordner samt Unterordner und Dateien (funktioniert wie xcopy)

  • [autoit]


    #include <File.au3>

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

    Func _DirCopyExclude($sSourceDir, $sDestDir, $asExcludeDir, $iFlag)
    $asFiles = _FileListToArray($sSourceDir, "*", 1)
    For $iFiles = 1 To $asFiles[0]
    FileCopy($sSourceDir & "\" & $asFiles[$iFiles], $sDestDir & "\" & $asFiles[$iFiles], 8)
    Next
    $asDirs = _FileListToArray($sSourceDir, "*", 2)
    For $iDirs = 1 To $asDirs[0]
    $fExclude = False

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

    For $iIndex = 1 To UBound($asExcludeDir)
    If $asDirs[$iDirs] = $asExcludeDir[$iIndex - 1] Then $fExclude = True
    Next

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

    If $fExclude = False Then DirCopy($sSourceDir & "\" & $asDirs[$iDirs], $sDestDir & "\" & $asDirs[$iDirs], $iFlag)
    Next
    EndFunc ;==>_DirCopyExclude

    [/autoit]

    $asExcludeDir ist ein Array, was die Namen der Ordner enthält, die ausgeschlossen werden.^^

    lg chess

  • Vielen Dank! :thumbup:

    [autoit]

    #include <File.au3>

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

    Global $sSourceDir = "G:\PRJ\0000000\"
    Global $sDestDir = "T:\Dino\0000000\"
    Global $asExcludeDir[4] = [ "Typicals", "install", "Dokumentation", "Tools"]

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

    _DirCopyExclude($sSourceDir,$sDestDir,$asExcludeDir,1)

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

    Func _DirCopyExclude($sSourceDir, $sDestDir, $asExcludeDir, $iFlag)
    $asFiles = _FileListToArray($sSourceDir, "*", 1)
    For $iFiles = 1 To $asFiles[0]
    FileCopy($sSourceDir & "\" & $asFiles[$iFiles], $sDestDir & "\" & $asFiles[$iFiles], 8)
    Next
    $asDirs = _FileListToArray($sSourceDir, "*", 2)
    For $iDirs = 1 To $asDirs[0]
    $fExclude = False

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

    For $iIndex = 1 To UBound($asExcludeDir)
    If $asDirs[$iDirs] = $asExcludeDir[$iIndex - 1] Then $fExclude = True
    Next

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

    If $fExclude = False Then DirCopy($sSourceDir & "\" & $asDirs[$iDirs], $sDestDir & "\" & $asDirs[$iDirs], $iFlag)
    Next
    EndFunc ;==>_DirCopyExclude

    [/autoit]