2012年9月25日 星期二

移除目錄(包含目錄下所有檔案和資料夾)

各家程式語言都有自己的function可以移除目錄或檔案,像boost C++有remove()和remove_all()可以使用。雖然呼叫function很方便,但若遇到要移除的目錄結構非常龐大時,很有可能會把heap塞爆。在這邊提供一個不一樣的解決方法:「呼叫系統指令 。 」

Windows系統有個指令叫做rmdir,Linux系統則是rm,這兩個指令加上參數就可以做到移除目錄以及目錄下所有檔案和資料夾的功能。

呼叫系統指令的好處是可以忽略例外發生,也不會佔用到程式的heap,簡單的說就是避免程式當掉。不要認為用系統指令的程式水準低,「能簡單解決問題的方法就是好方法!」

沒有留言: