使用命令列在電腦之間移動檔案 (Windows)

使用命令列在電腦之間移動檔案 (Windows)

我有一個運行 XP 的虛擬機,文件會在其中隨機上傳。我需要一個適合命令列的腳本或實用程序,它將每 X 分鐘運行一次(例如)移動所有上傳的檔案到 Win7 機器上的共用目錄。

現在,命令列move命令不能跨驅動器運行,更不用說跨共享了。 (它給出了超級有用的信息Access denied.

我可以做一個

copy src desr_share
rm src

……但這是棘手的部分:

執行copy指令時,可能會同時上傳一個檔案。他們copy可能只上傳文件的一部分,或者完全跳過它並繼續,但稍後,當啟動時rm,文件可能會完全上傳,並且rm將刪除它,而沒有將其正確複製到目的地。

所以我需要一些具有move語義的東西(複製檔案並僅在成功時刪除它),但它可以跨機器工作。

有什麼建議麼?

附言。我不介意文件是否僅部分移動,只要它沒有被刪除。我將強制覆蓋所有目標文件,並在下次運行時,文件將再次完全上傳。

答案1

查看 Robocopy,它是 Win7 的標準配置,並且在 xp 的 Microsoft 開發工具包中提供。

使用robocopy /?(或robocopy /? > drive:\path\robocopy_options.txt) 作為選項。

Windows 7的:

http://technet.microsoft.com/en-us/library/cc733145%28v=ws.10%29.aspx

Windows XP:

http://www.microsoft.com/en-us/download/details.aspx?id=17657#Requirements

相關內容