我需要将文件从Windows 2003服务器复制到WebDAV文件夹(如果重要,请在同一台服务器上)。 此操作将通过通过计划任务执行的批处理脚本执行。 我在服务器上启用了WebClient服务。
到目前为止,我已经确定我可以这样做:
net use x: http://host/path copy c:\path\myfile.txt x: net use x: /delete
1)有没有比创build临时映射驱动器更简单的方法? 当没有用户login时,它将通过batch file工作吗?
2)有什么我应该知道在我的服务器上启用WebClient服务? 以前它被禁用,我认为是默认的。
免费的WinSCP(用于Windows)支持WebDAV(和WebDAVS)在最新的testing版本(5.6和更高版本)。 WinSCP也支持脚本/命令行操作。
示例WinSCP脚本通过WebDAV上传文件:
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的作者)
为什么,哦,为什么,(如果它在同一台服务器上)不要从本地文件夹复制到本地文件夹?
copy c:\path\myfile.txt c:\path\to\www-root\subdir\destination\
复制文件后,您可能需要重新启动IIS / Apache(或其他),但很可能不会。
DavCopy是一个将文件推送到WebDAV的命令行工具 。 它支持批量作业的命令行authentication,所以它可以在你没有login时运行。
webclient服务不需要运行该工具。
它也使用简单的语法。 类似于robocopy。 
您可以尝试使用pushd和popd ,这有助于自动安装驱动器。 如果可能的话,您也可以尝试使用PowerShell。