代码之家  ›  专栏  ›  技术社区  ›  Roger Lipscombe

rake中的递归通配符?

  •  1
  • Roger Lipscombe  · 技术社区  · 14 年前

    跟进 this question about GNU make :

    我有一个目录, flac ,包含.flac文件。我有相应的目录, mp3 包含MP3文件。如果flac文件比对应的mp3文件新(或者对应的mp3文件不存在),那么我想运行一组命令将flac文件转换为mp3文件,并复制标签。

    踢球者:我需要搜索 FLAC 递归目录,并在 MP3 目录。目录和文件的名称中可以有空格,并且用utf-8命名。

    结果发现这不管用 make ,因为目录和文件名中有空格,所以我想知道如何在rake中代替…

    1 回复  |  直到 14 年前
        1
  •  2
  •   Roger Lipscombe    14 年前

    到目前为止我所能想到的最好的是这样的:

    FLAC_FILES = FileList['flac/**/*.flac']
    
    FLAC_FILES.each do |flac|
      mp3 = flac.pathmap("%{^flac,mp3}X.mp3")
      file mp3 => flac do
        puts "Converting #{flac} to #{mp3}"
      end
      task :default => mp3
    end
    

    批评,有人吗?