PRB: XP_CMDSHELL Does Not Work with XCOPY (152134)



The information in this article applies to:

  • Microsoft SQL Server 6.0
  • Microsoft SQL Server 6.5
  • Microsoft SQL Server 7.0

This article was previously published under Q152134

SYMPTOMS

XP_CMDSHELL does not work with XCOPY. When tried, the XP_CMDSHELL always returns "0 rows affected," and files and directories are not copied. The same XCOPY command works fine from the command prompt.

NOTE: This problem does not occur with Microsoft SQL Server 2000.

CAUSE

Certain commands such as XCOPY sometimes expect input from the user. Because of this, they must be assigned an input handle. Since we do not create the process with an input handle assigned, it fails.

WORKAROUND

To work around this problem you can use the COPY command instead. Or, you can also pipe the output to a NUL console. For example:
xp_cmdshell 'fc c:\test1.txt c:\test.txt <NUL:'
				
-or-
xp_cmdshell 'fc c:\test1.txt c:\test.txt <NUL: >c:\output.txt'
				

Modification Type:MajorLast Reviewed:11/14/2003
Keywords:KB152134