SQLAli,
Just in case, you do not want to use MS Office, you can create a case statement as below and script out the move templates for creating restore script. You can tweak the same to use on lower version of SQL Server.
declare @data varchar(200)
declare@log varchar(200)
--Enter Data Location.
set @data = 'D:\MSSQL10.MSSQLSERVER\MSSQL\DATA\AppData'
--Enter Log Location.
set @log = 'D:\MSSQL10.MSSQLSERVER\MSSQL\DATA\AppData'
select
db_name(database_id) as database_name,
name as logical_file_name,
case [file_id]
when 1
then ', MOVE '''+s.NAME+''' TO '''+@data+'\'+s.NAME+'.mdf'''
else
(case [type]
when 0
then ', MOVE '''+s.NAME+''' TO '''+@data+'\'+s.NAME+'.ndf'''
else ', MOVE '''+s.NAME+''' TO '''+@log+'\'+s.NAME+'.ldf'''
end)
end as HardCodedMoveTemplates
from sys.master_files s
where db_name(database_id) not in ('master','model','msdb','tempdb')
order by database_id asc
Hope this helps...
-Arshpreet