在 Windows 2003 上通过命令行将文件复制到 WebDAV

在 Windows 2003 上通过命令行将文件复制到 WebDAV

我需要将文件从 Windows 2003 服务器复制到 WebDAV 文件夹(如果有必要,则在同一台服务器上)。此操作将通过计划任务执行的批处理脚本执行。我已在服务器上启用了 WebClient 服务。

到目前为止我已经确定我可以这样做:

net use x: http://host/path
copy c:\path\myfile.txt x:
net use x: /delete

1) 有没有比创建临时映射驱动器更简单的方法?当没有用户登录时,它会通过批处理文件工作吗?

2) 我需要了解哪些有关在服务器上启用 WebClient 服务的信息?以前该服务是禁用的,我认为这是默认设置。

答案1

自由的温SCP(适用于 Windows)支持 WebDAV(和 WebDAVS). WinSCP 也支持脚本/命令行操作。

通过 WebDAV 上传文件的 WinSCP 脚本示例:

open http://[email protected]/
put file.txt /path/
close

将脚本保存到文件(例如script.txt)并运行:

winscp.com /script=script.txt

你也可以把所有内容放在一行上:

winscp.com /command "open http://[email protected]/" "put file.txt /path/" "close"

有关使用 WinSCP 编写脚本的介绍,请参阅:
https://winscp.net/eng/docs/guide_automation

WinSCP GUI 可以生成脚本模板为你。

(我是 WinSCP 的作者)

答案2

为什么,哦,为什么(如果它在同一台服务器上)你不从本地文件夹复制到本地文件夹?

copy c:\path\myfile.txt c:\path\to\www-root\subdir\destination\

复制文件后,您可能需要重新启动 IIS/Apache(或其他程序),但很可能不需要。

答案3

DavCopy 是一个用于将文件推送到 WebDAV 的命令行工具。它支持批处理作业的命令行身份验证,因此它可以在您未登录时运行。

不需要 webclient 服务来运行该工具。

它也使用简单的语法。类似于 robocopy。句法!

答案4

您可以尝试使用pushdpopd,这有助于自动安装驱动器。如果可能,您也可以尝试使用 PowerShell。

相关内容