如何使用Ruby-Rails删除文件夹的所有内容?

时间:2011-12-16 18:19:46

标签: ruby ruby-on-rails-3

我有一个public/cache文件夹,其中包含文件和文件夹。如何使用rake任务完全清空该文件夹?

3 个答案:

答案 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/