Find out the disk size of an index

SELECT
        OBJECT_NAME(I.OBJECT_ID) AS table_name,
        I.name AS index_name,  
        I.type_desc,
        AU.used_pages,
    8 * SUM(AU.used_pages) AS 'index_size_KB',         
    CAST(8 * SUM(AU.used_pages) / 1024.0 AS DECIMAL(18,2)) AS 'Index size (MB)'
FROM
    sys.indexes I
        JOIN sys.partitions P ON P.OBJECT_ID = I.OBJECT_ID AND P.index_id = I.index_id
        JOIN sys.allocation_units AU ON AU.container_id = P.partition_id
--WHERE
--      OBJECT_NAME(I.OBJECT_ID) = '<tableName>'        
GROUP BY
    I.object_id, I.name, I.type_desc, AU.used_pages
ORDER BY
    table_name;

Is this useful?