我有一个public/cache
文件夹,其中包含文件和文件夹。如何使用rake任务完全清空该文件夹?
答案 0 :(得分:138)
Ruby在FileUtils模块中具有* nix rm -rf
等效项,可用于删除文件和非空文件夹/目录:
FileUtils.rm_rf('dir/to/remove')
保留目录本身并仅删除其内容:
FileUtils.rm_rf(Dir.glob('dir/to/remove/*'))
FileUtils.rm_rf(Dir['dir/to/remove/*']) # shorter version of above
答案 1 :(得分:2)
您可以使用倾斜的单引号(在代字号旁边)运行任意命令,如下所示:
`rm -fr public/cache/*`
这可能比你想要的更依赖于平台,但它开辟了很多可能性。
答案 2 :(得分:0)
这里有很好的答案。您可能也有兴趣知道Rails 5有一个rake任务来执行此操作:
rake tmp:cache:clear # Clear cache files from tmp/