2013-06-12 41 views
12

我有一個vbscript,我已經寫入將文件從源目錄移動到目標目錄。腳本目前的工作方式是我有一個映射文件(讀入映射ID到文件夾類型)。每個正在移動的文件都以id開頭,目標將基於id映射到的內容。我在映射文件中讀取併爲每個要移動的文件構建目標路徑。這一切都按預期工作,問題是當我嘗試移動目標目錄中已存在的文件時,文件不會從源目錄中移出。基本上,我希望它覆蓋目標目錄中的文件,如果它已經存在。 目前,我的主要命令是這樣的:使用MoveFile方法在vbscript中覆蓋Destination中的文件時出現問題?

fso.MoveFile ObjFile.Path, archiveTo & "\" & yearValue & "\" & monthValue & "\" & ObjFile.Name 

有沒有辦法爲默認這始終覆蓋在如果它已經存在的destionation目錄中的文件?

回答

20

不幸的是,VBScript MoveFile方法僅在目標文件不存在時才起作用。存在時它不能覆蓋這樣的文件,只是拋出錯誤。

所以,唯一的選擇是使用的CopyFile(裏面確實有選項覆蓋),那麼的DeleteFile:

fso.CopyFile ObjFile.Path, archiveTo & "\" & yearValue & "\" & monthValue & "\" & ObjFile.Name, True 
fso.DeleteFile ObjFile.Path 
+0

這是偉大的 - 感謝信息。我知道我可以做到這一點 - 我只是不知道是否有更有效的方式,我可以用Move命令來完成。 – user1587060

+0

@ user1587060 nope,該具體方法從未打算用於此類用途。 :) –

+0

這似乎很奇怪,複製方法將有覆蓋的選項,但移動不.. ..無論如何,至少我現在知道 – user1587060