Nah, I was thinking of something like this to generate the commands to run. If you want, you could even actually run the code instead of just generating it.
DECLARE @new_schema_name nvarchar(128)
DECLARE @old_schema_name nvarchar(128)
SET @new_schema_name = 'dest'
SET @old_schema_name = 'source'
SELECT 'CREATE SYNONYM [' + @new_schema_name + '].[' + o.name + '] FOR [' + @old_schema_name + '].[' + o.name + '];'
FROM sys.objects o
o.parent_object_id = 0 AND
o.schema_id = (SELECT s.schema_id FROM sys.schemas s WHERE s.name = @old_schema_name)
SQL DBA,SQL Server MVP(07, 08, 09) Prosecutor James Blackburn, in closing argument in the Fatal Vision murders trial: "If in the future, you should cry a tear, cry one for them [the murder victims]. If in the future, you should say a prayer, say one for them. And if in the future, you should light a candle, light one for them."