Ошибка исходит из самой командной оболочки, это не ошибка SQL Server
Один из способов получить ошибку -
declare @cmdline varchar(500),@ReturnCode int
select @cmdline = 'dir f:'
create table #temp (SomeCol varchar(500))
insert #temp
EXEC @ReturnCode = master.dbo.xp_cmdshell @cmdline
if @ReturnCode <> 0
select * from #temp
where SomeCol is not null
, но, конечно, если вы выполняете DIR C:таблица будет заполнена всеми файлами и папками этой команды