Search code examples
sqlsql-servercmdxcopy

Copying folders using cmd & MSSQL script


I'm trying to copy one folder into another folder but I'm getting errors,

I've wrote following SQL script:

    DECLARE @SQL VARCHAR(1000)
    DECLARE @Dt DATETIME
    SET @Dt = GETDATE()
    SET @SQL = 'xcopy "C:\test\" "D:\test\backup '+DATENAME ( day , @Dt )+''+LEFT(DATENAME ( month , @Dt ),3)+''+DATENAME ( year , @Dt )+''+REPLACE(RIGHT(CONVERT(VARCHAR, GETDATE(), 100),7),':','.')+'-'+DATENAME ( s , @Dt )+'\" /e /i /h '
    PRINT @SQL
    EXEC master.dbo.xp_cmdshell @SQL



I'm getting following error

Invalid path

Solution

  • yea, its working now, I used *.* at the end of source path.

    DECLARE @SQL VARCHAR(1000)
    DECLARE @Dt DATETIME
    SET @Dt = GETDATE()
    SET @SQL = 'xcopy "C:\test\*.*" "D:\test\backup '+DATENAME ( day , @Dt )+''+LEFT(DATENAME ( month , @Dt ),3)+''+DATENAME ( year , @Dt )+''+REPLACE(RIGHT(CONVERT(VARCHAR, GETDATE(), 100),7),':','.')+'-'+DATENAME ( s , @Dt )+'\" /e /i /h '
    PRINT @SQL
    EXEC master.dbo.xp_cmdshell @SQL