에 배치 파일을 실행합니다 :어떻게 xp_cmdshell을
exec master..xp_cmdshell 'C:\f\alert.bat'
나는 다음과 같은 오류 메시지가 :
'C:\f\alert.bat' is not recognized as an internal or external command,
operable program or batch file.
내가 xp_cmdshell을 사용하여이 배치 파일을 실행할 수있는
?
편집 : 위의 명령은 그대로 사용합니다. 공백이있는 매개 변수를 사용하고 있지 않습니다.
가능한 복제 http://stackoverflow.com/questions/3759331/escaping-command-parameters-passed-to-xp-cmdshell-to-dtexec – billinkc
@billinkc 그 질문에 대한 대답을 볼 때 볼 수있는 것은 당신이 볼 수 있듯이, 이미하고있는 DOS 8.3 명명 규칙. 나는 두 사람이 당신의 코멘트를 upvoted 것을 볼 수 있지만 어쩌면 내가 정말 분명 무언가를 놓치고있어 믿을 수 있습니다. 그렇다면, 제발 저에게 지적 해 주시겠습니까? –
편집하기 전에 제 생각에는'C : \ f \ alert.bat'는 실제 명령의 스텁이었습니다. 내 xp_cmdshell 호출 공백이 있으면 오류 메시지를 재현 할 수 있습니다. 'exec master..xp_cmdshell 'C : \ f \ alert.bat'self를 참조하십시오. C : \ f c : \ DoesNotExist를 변경할 수 있으며 공백이있는 한 "not recognized"오류 메시지가 반환됩니다. 그 해결 방법은 8.3 명명 규칙 또는 큰 따옴표를 사용하는 것인데, 둘 다 언급 된 질문에 설명되어 있습니다. – billinkc