改成:
SET @sql= 'echo "' +@text +'" >>c:\emailtest\'+@sendFile
exec master..xp_cmdshell @sql, no_output

解决方案 »

  1.   

    declare @text varchar(100),@sql varchar(1000),@sendFile varchar(1000)
    set @text = '简'
    set @sendFile='1.txt'
    SET @sql= 'echo "' +@text +'" >>c:\'+@sendFile
    exec master..xp_cmdshell @sql, no_output
      

  2.   

    declare @sql varchar(100)
    declare @text varchar(100)
    set @text = '简'
    SET @sql= 'echo "' +@text +'" >>c:\emailtest\'+@sendFile
    exec master..xp_cmdshell @sql, no_output
      

  3.   

    DOS里用"把特殊字符括起来:SET @sql= 'echo "' +@text +'" >>c:\emailtest\'+@sendFile
    exec master..xp_cmdshell @sql, no_output
      

  4.   

    到CMD方式运行下面的命令你就会知道为什么你那样不行.dir *.exe &dir *.txt
      

  5.   

    echo  ^&sdaf >> c:\aa.txt