sqlsql-serversqlcmdxp-cmdshell

Create zip file from SQL Server


Here is code which I use to create a .rar file with a password

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

but it sets asdad password and not asd^ad, ^ symbol is ignored. Why?


Solution

  • The ^ character is an escape character in the command shell. Try doubling it up.

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