Назад | Перейти на главную страницу

Скопируйте файл в WebDAV через командную строку в Windows 2003

Мне нужно скопировать файл с сервера Windows 2003 в папку WebDAV (на том же сервере, если это важно). Эта операция будет выполняться с помощью пакетного скрипта, выполняемого с помощью запланированных задач. Я включил службу WebClient на сервере.

Пока я решил, что могу сделать это так:

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

1) Есть ли более простой способ, чем создание временного подключенного диска? Будет ли он работать через командный файл, когда ни один пользователь не вошел в систему?

2) Что мне нужно знать о включении службы WebClient на моем сервере? Ранее он был отключен, что, как я полагаю, используется по умолчанию.

Свободно WinSCP (для Windows) поддерживает WebDAV (и WebDAVS). WinSCP также поддерживает операции сценариев / командной строки.

Пример сценария WinSCP для загрузки файла через WebDAV:

open http://user@webdav.example.com/
put file.txt /path/
close

Сохраните сценарий в файл (например, script.txt) и запустить как:

winscp.com /script=script.txt

Вы также можете поместить все в одну строку:

winscp.com /command "open http://user@webdav.example.com/" "put file.txt /path/" "close"

Для введения в создание сценариев с WinSCP см.:
https://winscp.net/eng/docs/guide_automation

Графический интерфейс WinSCP может создать шаблон сценария для тебя.

(Я автор WinSCP)

DavCopy - это инструмент командной строки для отправки файлов в WebDAV.. Он поддерживает аутентификацию в командной строке для пакетных заданий, поэтому его можно запускать, когда вы не вошли в систему.

Служба веб-клиента не требуется для запуска инструмента.

Он также использует простой синтаксис. похож на robocopy.

Почему, ну почему (если он на том же сервере) вы не копируете из локальной папки в локальную папку?

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

Возможно, вам потребуется перезапустить IIS / Apache (или что-то еще) после копирования файла, но, скорее всего, нет.

Вы можете попробовать использовать pushd и popd, которые помогают автоматизировать монтаж привода. Вы также можете попробовать использовать PowerShell, если возможно.