一言で言えば、 CMD /S /C "
、および "
最後に。間に好きなだけ引用符を付けることができます。
方法は次のとおりです。
declare @cmd varchar(8000) -- Note you can use CMD builtins and output redirection etc with this technique, -- as we are going to pass the whole thing to CMD to execute set @cmd = 'echo "Test" > "c:\my log directory\logfile.txt" 2> "c:\my other directory\err.log" ' declare @retVal int declare @output table( ix int identity primary key, txt varchar(max) ) -- Magic goes here: set @cmd = 'CMD /S /C " ' + @cmd + ' " ' insert into @output(txt) exec @retVal = xp_cmdshell @cmd insert @output(txt) select '(Exit Code: ' + cast(@retVal as varchar(10))+')' select * from @output
プレ>