Set file attributes. e.g.:

		SetFileAttributes('C:\\foo', 'hidden')

	Each attr must be either a numeric value, a constant defined in
	jaraco.windows.filesystem.api, or one of the nice names
	defined in this function.

def SetFileAttributes(filepath, *attrs):
	"""
	Set file attributes. e.g.:

		SetFileAttributes('C:\\foo', 'hidden')

	Each attr must be either a numeric value, a constant defined in
	jaraco.windows.filesystem.api, or one of the nice names
	defined in this function.
	"""
	nice_names = collections.defaultdict(
		lambda key: key,
		hidden='FILE_ATTRIBUTE_HIDDEN',
		read_only='FILE_ATTRIBUTE_READONLY',
	)
	flags = (getattr(api, nice_names[attr], attr) for attr in attrs)
	flags = functools.reduce(operator.or_, flags)
	handle_nonzero_success(api.SetFileAttributes(filepath, flags))