import string


def make_directoriable(name: str) -> str:
    """
    Convert any name in a valid directory / file name

    >>> make_directoriable("Hello World guy!")
    "hello_world_guy"

    :param name: name to convert
    :type name: str

    :return: converted name
    :rtype: str
    """
    if not name:
        return ""

    valid_chars = string.ascii_letters + "_-/ " + string.digits

    _tmp_path = "".join(x.lower().replace(" ", "_").replace("-", "_").replace("/", "_") for x in name if x in valid_chars)

    if _tmp_path.startswith("_"):
        _tmp_path = _tmp_path[1:]
    if _tmp_path.endswith("_"):
        _tmp_path = _tmp_path[:-1]

    return _tmp_path