0

我正在尝试使用 SQL 管理工作室中的 xp_cmdshell 将文件从远程路径复制到本地计算机。

以下是我使用的步骤:

1.建立连接

exec xp_cmdshell 'net use L: \\remoteServer\folder /user:domain\username ImPWD'

2.重新连接

当我执行exec xp_cmdshell 'net use'时,L 的状态不可用。所以我跑了exec xp_cmdshell 'net use L:' 这无论如何都没有帮助。它仍然无法使用!

3.复制文件

EXEC xp_cmdshell 'COPY L:\Fol1\SubFol2\File.xlsx C:\work\file.xlsx'

这是我得到的错误:

该系统找不到指定的文件。

我尝试了以下方法,但似乎没有任何效果:

  • 找到 xp_cmdshell 使用的用户凭据并尝试通过 Windows UI 手动连接到共享路径,它似乎可以工作。因此,我得出结论,没有权限问题。EXEC xp_cmdshell 'whoami.exe'

  • 以普通用户和管理员的身份运行查询。两者都产生相同的输出。

以下是我的问题:

  1. 我错过了一些步骤吗?
  2. 为什么第一次连接后连接不可用?
  3. 如何删除连接?即当我运行exec xp_cmdshell 'net use * /delete'时它问

是否要继续此操作?(Y/N) [N]:我不知道如何使用管理工作室查询说“Y”。

提前感谢您的帮助!:)

4

1 回答 1

1

如何删除连接?

要删除连接,请使用:

exec xp_cmdshell 'net use * /delete /y'

(yes) 会默默通过

至于其他问题:您在评论中提到路径中的文件夹有空格,因此您可以:

  • 重命名文件夹
  • ""
于 2017-08-02T15:35:43.067 回答