web-dev-qa-db-ja.com

Windows2003のコマンドラインからWebDAVにファイルをコピーする

Windows 2003サーバーからWebDAVフォルダー(重要な場合は同じサーバー上)にファイルをコピーする必要があります。この操作は、スケジュールされたタスクを介して実行されるバッチスクリプトを介して実行されます。サーバーでWebClientサービスを有効にしました。

これまでのところ、私は次のようにそれを行うことができると判断しました:

Net Use x: http://Host/path
copy c:\path\myfile.txt x:
Net Use x: /delete

1)一時的にマップされたドライブを作成するよりも簡単な方法はありますか?ユーザーがログインしていない場合、バッチファイルを介して機能しますか?

2)サーバーでWebClientサービスを有効にすることについて知っておくべきことはありますか?以前は無効にされていましたが、これがデフォルトだと思います。

3
Boden

無料 WinSCP (Windowsの場合) WebDAV(およびWebDAVS)をサポート 。 WinSCPは、スクリプト/コマンドライン操作もサポートしています。

WebDAVを介してファイルをアップロードするためのサンプルWinSCPスクリプト:

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

スクリプトをファイルに保存します(例:script.txt)そして次のように実行します:

winscp.com /script=script.txt

すべてを1行にまとめることもできます。

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

WinSCPを使用したスクリプトの概要については、以下を参照してください。
https://winscp.net/eng/docs/guide_automation

WinSCP GUIは スクリプトテンプレートを生成する あなたのためにできます。

(私はWinSCPの作者です)

3
Martin Prikryl

なぜ、なぜ、(同じサーバー上にある場合)ローカルフォルダーからローカルフォルダーにコピーしないのですか?

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

ファイルのコピー後にIIS/Apache(またはその他)を再起動する必要がある場合がありますが、ほとんどの場合、再起動する必要はありません。

1
gWaldo

DavCopyは、ファイルをWebDAVにプッシュするためのコマンドラインツールです 。バッチジョブのコマンドライン認証をサポートしているため、ログインしていないときに実行できます。

ツールを実行するためにwebclientサービスは必要ありません。

単純な構文も使用します。 robocopyに似ています。syntax!

1
Brett Larson

pushdpopdを使用してみてください。これは、ドライブのマウントを自動化するのに役立ちます。可能であれば、PowerShellを使用することもできます。

0
wfaulk