コマンドラインを使用してコンピュータ間でファイルを移動する (Windows)

コマンドラインを使用してコンピュータ間でファイルを移動する (Windows)

XPを実行しているVMがあり、そのVM上でファイルがランダムにアップロードされます。コマンドラインに適したスクリプトまたはユーティリティが必要です。たとえば、X分ごとに実行され、動くすべてのアップロードされたファイルは Win7 ボックス上の共有ディレクトリに保存されます。

現在、コマンドラインmoveコマンドはドライブ間では実行されず、共有間では実行されません。(そして、非常に役立つメッセージが表示されますAccess denied.)

私は

copy src desr_share
rm src

...しかし、ここが難しいところです:

コピー コマンドを実行すると、同時にファイルがアップロードされることがあります。 はcopyファイルの一部だけをアップロードするか、完全にスキップして先へ進むことがありますが、後で がrm起動すると、ファイルが完全にアップロードされ、rm宛先に適切にコピーされることなく によって消去されることがあります。

moveしたがって、セマンティクス (ファイルをコピーし、成功した場合のみ削除する) を備えながら、マシン間で機能するものが必要です。

助言がありますか?

PS. ファイルが部分的にしか移動されなくても、削除されない限りは問題ありません。移動先のファイルを強制的に上書きし、次回実行時にファイルが完全にアップロードされます。

答え1

Win7 では標準であり、XP 用の Microsoft 開発キットでも利用できる Robocopy を調べてください。

オプションにはrobocopy /?(または)を使用します。robocopy /? > drive:\path\robocopy_options.txt

Windows 7の場合:

http://technet.microsoft.com/en-us/library/cc733145%28v=ws.10%29.aspx

Windows XPの場合:

http://www.microsoft.com/en-us/download/details.aspx?id=17657#要件

関連情報