2017-06-26 1 views
1

私はこの質問の答えを見つけるのに苦労しているかもしれません。私は比較的大きいファイル(〜500MB以上)をftpサーバーに入れてから、それをパラメータとして取り込むプロセスを実行する必要があります。私の質問は次のとおりです。 ftp.exeを使用している場合、ファイルのコピーが完了するまで、putコマンドはプロセスをロックしますか?Windowsのftpはコマンドを同時に、または順番に処理しますか?

私は必要なコマンドを実行するための.batファイルを使用して計画されたが、ファイルが他のプロセスがそれを読み取りを開始する前に完全にコピーされようとしている場合、私は知りません。

編集:明確さのために、ここで私が実行されるだろう。BATのサンプルです。

ftp -s:commands.txt ftpserver 

とcommands.txtの内容は、プロトコルとして

user 
password 
put fileName newFileName 
quote cmd_to_execute 
quit 
+0

あなたは一時的な名前の下でそれをコピーして、最終的にそれを名前を変更できます。これにより、読み込み処理が早期に開始されることを防ぎます。 –

+0

私はそのことについて考えたが、事は、私は –

+0

(定期的にファイルを探して実行されますつまり、そのサービスではありません)、それを読み込むプロセスを呼び出すことだろうということです私は 'quote'コマンドを使用してFTP経由で直接コマンドを実行しています –

答えて

-1

FTPだろう、それを書き込む前に、ファイルのロックを置く指定されていません。しかし、これは誰もがこの機能を実装するのを妨げるものではありません。

いくつかのファイルシステムNTFS)は、同時アクセスを防止するためのロック機構を提供することができます。このFile locking - Wikipedia

を基準として、このスレッドを見る:(おそらくすべての同様のスクリプト可能なクライアントなど)How do filesystems handle concurrent read/write?

+0

問題は、少なくともこの現在の実装ではファイル自体をロックしたくないということです。あなたが私の編集をOPで見ると、あなたが意味するものを理解するでしょう。私が知る必要があるのは、putが完了するまでputが実行されないかどうかです。 –

+0

OK。 put後のreadコマンドが実行されます。たとえば、大きなテキストファイルをアップロードしてすぐにブラウザで開くと、これが機能し、ファイルの切り詰められたバージョンが表示されます。一日の終わりに、FTP.exeがファイル処理機能を提供していないことを知る必要があります。それはそのために基礎となるファイルシステムに依存しています。それはまた、ファイルを読み込んでいるクライアントにも依存することに注意してください。 –

0

のWindows ftp.exeは、一つ一つのコマンドを実行します。

ませ並列処理が行われます。

関連する問題