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 )