假設我有目錄1和目錄2,並且每個目錄都可以包含文件或子目錄。我有什麼到目前爲止,如果我想要重命名「目錄2」到「目錄3」,我可以運行:C#重命名目錄,複製全部內容如果目錄已經存在
Directory.Move("path\Directory 2", "path\Directory 3");
這工作得很好 - 重命名的目錄,所有子目錄和文件目錄做工精細內用新的名字,沒有副本來處理。
但是,如果我嘗試這樣做:
Directory.Move("path\Directory 2", "path\Directory 1");
我得到一個錯誤,因爲目錄1已經存在。在這種情況下,如果Directory 2不能被重命名爲Directory 1,那麼Directory 2中的所有內容(文件和子目錄)都應該移到Directory 1中。最簡單的方法是什麼?我應該有一個if文件存在,一個移動所有子目錄的foreach和一個移動所有文件的foreach?是否有更簡單的方法來重載.Move函數來移動文件而不管存在錯誤?
因此,基本上,一個很好的策略可能是做一個函數執行以下操作: 如果(文件夾不存在) - >只使用.move 如果(文件夾確實存在) - >每個子目錄運行功能 這樣我可以遞歸地重命名每個目錄和子目錄,並且如果它們已經存在,只需移動內部的東西。 是嗎? – Jake
當然,看鏈接的文章,它已經有一個:) –
嘿,這很容易!謝謝! – Jake