我正在尝试使用 xp_cmdshell 发送“copy-item”命令来移动我之前在存储过程中加密的项目。在存储过程中,我创建了一个 .bat 文件,作为计划任务执行,以进行加密。
我尝试使用相同的方法来执行 copy-item 命令,以及基本的 EXEC xp_cmdshell 命令,但两者都不起作用。知道为什么它可以执行 gpg,但当我尝试执行 copy-item 命令时却不行?
这是我尝试过的:
set @cmd = 'copy-file c:\MissionControlDocs\'+@docFolder+@rawfilenamewoext+'.txt.gpg y:\aep-ohio>> ' + @batchFileName)
exec master..xp_cmdshell @cmd, no_output
并将命令选择到批处理文件中,然后调用任务(在服务器上成功运行):
select @cmd = rtrim('echo copy-file c:\MissionControlDocs\'+@docFolder+@rawfilenamewoext+'.txt.gpg y:\aep-ohio>> ' + @batchFileName)
exec master..xp_cmdshell @cmd, no_output
当我直接在服务器上的 powershell 应用程序中运行复制文件时,无论我当前在哪个目录中,复制文件都有效。
非常感谢您的想法。