我有一個運行 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