从SQL Server创建zip文件

tun*_*ula 5 sql sql-server sqlcmd xp-cmdshell

这是我用来创建.rar带有密码的文件的代码

DECLARE @source VARCHAR(1000),
        @destination VARCHAR(1000),
        @Command VARCHAR(1000)

SET @source = 'E:\Temp\testRar.txt'
SET @destination = 'E:\Temp\testRar.rar'

SET @Command = '"C:\Program Files\WinRAR\Rar.exe"  a -ep1 -pasd^ad ' +@destination+' '+@source

EXEC MASTER..xp_cmdshell @Command
Run Code Online (Sandbox Code Playgroud)

但是它设置asdad密码而不是密码asd^ad^符号将被忽略。为什么?

Don*_*nal 3

^ 字符是命令 shell 中的转义字符。尝试将其加倍。

SET @Command = '"C:\Program Files\WinRAR\Rar.exe"  a -ep1 -pasd^^ad ' +@destination+' '+@source
Run Code Online (Sandbox Code Playgroud)