毎晩実行するPowerShellスクリプトを作成して、C:\ share1からC:\ share2にPDFファイルをコピーし、イベントログに書き込みます。ファイルをコピーし、使用中のファイルをスキップします。
私の現在のファイルコピースクリプトのビットは次のようになります。私はここに実行
Try
{
get-childitem -Path C:\Share1 | ForEach-Object { Copy-Item $_.FullName C:\share2 -verbose }
#Writes to event log as success.
}
Catch
#Logs the event as failed
}
問題は、ファイルを置き換える/コピー使用されてbeeingていることです。私はそれが残りのファイルをコピーし続けて、少なくとも私のスクリプトを修正したいと思います
PS>TerminatingError(Copy-Item): "The process cannot access the file 'C:/share2/1.pdf' because it is being used by another process."
:ファイルが使用中の場合 スクリプトがエラーで前記ファイルにコピーを停止します。
たとえば、100個のファイルがあり、3番目のファイルが使用されていた場合は、転送がすべて停止します。
残りのアイテムを処理するスクリプトを変更するにはどうすればよいですか?
この問題が発生したときに返される_entire_エラーは何ですか?特定のエラータイプを「キャッチ」できます。 – gvee
ファイルのコピーを開始し、別のマシンが使用しているファイルで停止し、前述の「PS terminatingError」をトランスクリプト出力ファイルの内容として「Transcript stopped」に移動します。 – Vhoyland