0

I'm trying to move files from a UNIX/Windows directory over to a SharePoint directory via a batch file. I know that the command that I want to use is just a simple move g:\...\*.* z:\ but I do not want to try to move any file that is currently open. Is there a way to check if files in a directory are open/in use and then only perform the move on the non open files?

4

1 に答える 1

1

Unix ではfuserを使用でき、Windows では Sysinternalsハンドルユーティリティをそれぞれ使用して、どのプロセスがファイルを開いているかを照会できます。

どちらも、コピー マシンではなく、ソース ファイルシステムを制御するシステムで実行する必要があることに注意してください。

このアプローチの一般的な問題は、check-move 操作がアトミックではないことです。チェックした、移動/コピーを開始する前に、ファイルのステータスが変更されていないことを確認できない場合があります。共有ドライブに何かを置きます-Sharepointによって消費され、移動を試みる前にそれが「焼き付けられた」ことを確認したい場合-一般的な方法は、作業中のみ共有リソースに移動することにより、プロデューサー側でこれを制御することです完成されました。プロデューサーを直接制御できない場合は、上記のユーティリティを使用してこれを実現できます

于 2012-06-07T17:49:01.113 に答える