Скопируйте файл в 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 на моем сервере? Ранее это было отключено, что я предполагаю, по умолчанию.
4 ответа
Бесплатный WinSCP (для Windows) поддерживает WebDAV (и WebDAVS) в последней бета-версии (5.6 и более поздних). 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)
Почему, если (на том же сервере) вы не копируете из локальной папки в локальную?
copy c:\path\myfile.txt c:\path\to\www-root\subdir\destination\
Вам может потребоваться перезапустить IIS/Apache (или любой другой) после копирования файла, но, скорее всего, нет.
DavCopy - это инструмент командной строки для отправки файлов в WebDAV. Он поддерживает проверку подлинности командной строки для пакетных заданий, поэтому он может работать, когда вы не вошли в систему.
Сервис веб-клиента не нужен для запуска инструмента.
Он также использует простой синтаксис. похож на робокопию.
Вы можете попробовать использовать pushd
а также popd
, которые помогают автоматизировать монтаж дисков. Вы также можете попробовать использовать PowerShell, если это возможно.