ソースディレクトリからターゲットディレクトリに15分ごとにファイルを移動するpowershellスクリプトがあります。約1メガのファイルがSFTPサーバによってソースディレクトリに移動しているので、SFTPクライアントがいつでもファイルを書き込むことができます。Powershellは、まだソースフォルダに書き込まれていない新しいフォルダにファイルを移動します。
Move-Itemコマンドはファイルを移動していますが、ファイルがまだ書き込まれていないことを確認せずに移動しているようです(使用中ですか?)。
ソースからターゲットにファイルを書き込んで、ファイル全体がターゲットに到達するように助けが必要です。 PowerShellを使用する前にこの問題を抱えている人は誰ですか?
私は検索して問題を解決したと言った機能をいくつか見つけることができましたが、試しても同じ結果は見られませんでした。 PowerShellスクリプトを既存の
は以下の通りです:
Move-Item "E:\SFTP_Server\UserFolder\*.*" "H:\TargetFolder\" -Verbose -Force *>&1 | Out-File -FilePath E:\Powershell_Scripts\LOGS\MoveFilesToTarget-$(get-date -f yyyy-MM-dd-HH-mm-ss).txt
ファイルに書き込むアプリケーションは継続的にそれをロックし、それを再オープンしていないでそうされている場合は、PowerShellはそれを自由に移動できます。それはしばらくの間、ファイルが再び書き込まれることを知ることができるようにはありません。ファイルの 'LastWriteTime'を取得し、クライアントが効果的にそれを行うのに十分古くなっている場合にのみ移動する必要があります。 –
これらのファイルに書き込むアプリケーションは、Office製品のように一時ファイルを作成しますか? '〜partialname.docx' – TheIncorrigible1