search_in_dirs

    Args:
        fname (str):  file name
        search_dpaths (list):
        shortcircuit (bool):
        return_tried (bool): return tried paths
        strict (bool): (default = False)

    Returns:
        fpath: None

    Example:
        >>> # DISABLE_DOCTEST
        >>> import utool as ut
        >>> fname = 'Inno Setup 5\ISCC.exe'
        >>> search_dpaths = ut.get_install_dirs()
        >>> shortcircuit = True
        >>> fpath = ut.search_in_dirs(fname, search_dpaths, shortcircuit)
        >>> print(fpath)

def search_in_dirs(fname, search_dpaths=[], shortcircuit=True,
                   return_tried=False, strict=False):
    """
    search_in_dirs

    Args:
        fname (str):  file name
        search_dpaths (list):
        shortcircuit (bool):
        return_tried (bool): return tried paths
        strict (bool): (default = False)

    Returns:
        fpath: None

    Example:
        >>> # DISABLE_DOCTEST
        >>> import utool as ut
        >>> fname = 'Inno Setup 5\ISCC.exe'
        >>> search_dpaths = ut.get_install_dirs()
        >>> shortcircuit = True
        >>> fpath = ut.search_in_dirs(fname, search_dpaths, shortcircuit)
        >>> print(fpath)
    """
    fpath_list = []
    tried_list = []
    for dpath in search_dpaths:
        fpath = join(dpath, fname)
        if return_tried:
            tried_list.append(fpath)
        if exists(fpath):
            if shortcircuit:
                if return_tried:
                    return fpath, tried_list
                return fpath
            else:
                fpath_list.append(fpath)
    if strict and len(fpath_list) == 0:
        msg = ('Cannot find: fname=%r\n'  % (fname,))
        if return_tried:
            msg += 'Tried: \n    ' + '\n    '.join(tried_list)
        raise Exception(msg)

    if shortcircuit:
        if return_tried:
            return None, tried_list
        return None
    else:
        if return_tried:
            return fpath_list, tried_list
        return fpath_list