2017-04-07 9 views
0

, MS SQL 서버를 통해 디렉토리에있는 파일을 삭제하는 방법 나는 다음과 같은 쿼리를 사용하여 창에있는 디렉토리에서 파일을 삭제하려고

exec xp_cmdshell 'del "C:\root\sfd_devtracker\'[email protected] + '"'; 

내가 그것을 다음과 같은 오류를 제공이 명령을 실행

,

Incorrect syntax near '+'. 

@deletefile 변수에는 내가 삭제해야하는 파일 이름이 있습니다. 여기 내가 뭘 잘못 했니?

답변

3

xp_cmdshell에는 매개 변수로 리터럴 문자열을 전달해야합니다. 즉석에서 값을 구성 할 수 없습니다.

DECLARE @cmd NVARCHAR(MAX) = 
'xp_cmdshell ''del "C:\root\sfd_devtracker\' + @deletefile + '"'''; 
EXEC (@cmd) 
+0

쿼리가 작동하지 않았다 :

이 시도해보십시오. 그것은 말합니다 : 'C : \ root \ sfd_devtracker \ '근처에 잘못된 구문이 있습니다.' –

+0

변수를 선언하는 한 올바르게 작동합니다. 'declare @deletefile varchar (20);' –

+0

@NisalMalindaLivera, 대답을 수정했습니다. 큰 따옴표를 옮겼습니다. 지금 일해야한다. – Serge