• To get it for each db and files:

    declare @sql nvarchar(max) = 'select 0 as dbid,0 as fileid WHERE 0=1'

    SELECT @sql = @sql + '

    UNION ALL SELECT '''+RIGHT(database_id,10)+''',fileid FROM '+name+'.sys.sysfiles'

    FROM sys.databases

    Select @sql = 'select DISTINCT volume_mount_point,volume_id,logical_volume_name,file_system_type,total_bytes,available_bytes,supports_compression,supports_alternate_streams,supports_sparse_files,is_read_only,is_compressed from (' + @sql + ') AS A cross apply sys.dm_os_volume_stats(dbid,fileid)'

    execute( @sql )