# A little sample that walks from the desktop into child # items. from win32com.shell import shell, shellcon def walk(folder, depth=2, indent=""): try: pidls = folder.EnumObjects(0, shellcon.SHCONTF_FOLDERS) except shell.error: # no items return for pidl in pidls: dn = folder.GetDisplayNameOf(pidl, shellcon.SHGDN_NORMAL) print(indent, dn) if depth: try: child = folder.BindToObject(pidl, None, shell.IID_IShellFolder) except shell.error: pass else: walk(child, depth-1, indent+" ") walk(shell.SHGetDesktopFolder())