簡體   English   中英

FileSystemObject即使通過FTP復制文件也可移動文件

[英]FileSystemObject moves a file even when is being copied over FTP

我有一個程序會定期檢查新文件,然后處理它們。

因為我想確保不通過FTP復制文件,所以我首先移動文件。
奇怪的是,即使在復制文件時,在Windows Server 2008中也將移動文件,並且FTP復制操作將在新位置結束。

這怎么可能?

我已經測試了在vbs文件中使用以下簡單代碼行的問題:

dim fso
set fso = createobject("Scripting.FileSystemObject")
fso.MoveFile "bigfile.zip", "moved\bigfile.zip"

好吧,當您移動文件(在同一驅動器中)時,您只是在告訴文件系統可以在其他位置找到該文件,而實際上並沒有移動任何數據。 因此,我猜想下一步將繼續進行,並告訴文件系統現在可以在哪里找到文件,但是FTP操作已經在硬盤驅動器上為實際數據分配了空間,因此,文件已被移動的事實將不會得到解決。不會以任何方式影響數據的存儲位置,因此一切正常。

如果您將文件移動到另一個驅動器,我會認為某些地方會損壞。

如果您可以訪問客戶端,則可以讓客戶端隨后再寫一個名為bigfile.zip.complete或類似名稱的小文件,並且您的服務器應用可以在開始處理之前等待它,這樣您就可以確定復制完成(如果連接中途斷開,並且即使文件尚未完成,客戶端也將停止上傳文件)。

或者,如果您無權訪問客戶端,也許您可​​以嘗試查看文件的大小,如果文件在幾秒鍾或幾分鍾之內沒有變化,則有望完成。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM