def METHOD_NAME(DirPath, ExtList, Args):
    FileList = []
    ExcludeDir = DirPath
    for DirPath, DirNames, FileNames in os.walk(DirPath):
        if Args.Exclude:
            DirNames[:] = [d for d in DirNames if d not in Args.Exclude]
            FileNames[:] = [f for f in FileNames if f not in Args.Exclude]
            Continue = False
            for Path in Args.Exclude:
                Path = Path.strip('\\').strip('/')
                if not os.path.isdir(Path) and not os.path.isfile(Path):
                    Path = os.path.join(ExcludeDir, Path)
                if os.path.isdir(Path) and Path.endswith(DirPath):
                    DirNames[:] = []
                    Continue = True
                elif os.path.isfile(Path):
                    FilePaths = FileNames
                    for ItemPath in FilePaths:
                        FilePath = os.path.join(DirPath, ItemPath)
                        if Path.endswith(FilePath):
                            FileNames.remove(ItemPath)
            if Continue:
                continue
        for FileName in [f for f in FileNames if any(f.endswith(ext) for ext in ExtList)]:
                FileList.append(os.path.join(DirPath, FileName))
    for File in FileList:
        FormatFile(File, Args)