7

这是我尝试过的所有事情:

  files = FileList.new("c:/temp/**/*") do |file|
    file.exclude("c:/temp/logs/")
  end


files = FileList.new("c:/temp/**/*") do |file|
  file.exclude("c:/temp/logs")
end

  files = FileList.new("c:/temp/**/*") do |file|
    file.exclude("c:/temp/logs/*.*")
  end


  files = FileList.new("c:/temp/**/*") do |file|
    file.exclude("c:/temp/logs/**/*")
  end


  files = FileList.new("c:/temp/**/*") do |file|
    file.exclude("c:/temp/**/logs/")
  end

rake 版本是 0.9.2.2,Ruby 版本是 193。都不起作用。我应该如何排除文件列表中的目录?

4

1 回答 1

7

我假设您正在尝试获取除文件夹c:/tmp中(包括)中的任何内容之外的所有文件的列表c:/tmp/logs

files = FileList.new("c:/temp/**/*").exclude(/c:\/temp\/logs/)

[编辑]FileList#exclude有关详细信息,请参阅文档。例如,要排除多个目录,您可以添加多个字符串/正则表达式参数,修改正则表达式以匹配要排除的所有目录模式,或者在块中执行类似的操作。

x1 = /c:\/temp\/logs/ # The entire "c:/temp/logs" folder.
x2 = /\.zip$/i # Any file whose name ends with ".zip".
FileList.new("c:/temp/**/*").exclude(x1, x2)
于 2012-01-17T19:43:13.533 回答