0

csvファイルを開き、csvファイルの各行の内容に応じてファイルのディレクトリを検索するRubyスクリプトを作成しようとしています

e.g

**.csv file**    **directory**
13456            13456.jpg
13567            13456a.jpg
13687            13456b.jpg
                 13567.jpg
                 13687.jpg
                 13687a.jpg

見つかったら、見つかったファイルを Keep というフォルダーにコピーしたいと思います

ディレクトリを検索する方法を理解するのに行き詰まっています

だから私は少しコーディングをしましたが、私はまだ立ち往生しています

 #require 'fileutils'
require 'spreadsheet'

input = "/Users/eccleshall/ImageCleanUp/" #where images are stored
output = "/Users/eccleshall/ImageCleanUp/Keep" #where images will be copied to

book = Spreadsheet.open '/Users/eccleshall/Desktop/ImageCleanUpScript/B002.xls' #opens workbook

sheet1 = book.worksheet 0 # sets worksheet

sheet1.each do |row| #for each row output
    puts row

    Dir.glob("/Users/eccleshall/ImageCleanUp/" row).each do|f| #search /Users/eccleshall/ImageCleanUp/ for files startig with row
        puts f
    end
end

実行するとエラーが発生し続けます

ImageCleanUp.rb:14: 構文エラー、予期しない tIDENTIFIER、期待 ')' ...s/eccleshall/ImageCleanUp/" 行).each do|f| #search /Users/e...

アイデアはありますか?

4

1 に答える 1

1

次の方法で検索できます。

require 'fileutils'
Dir.glob('/path_to_file_directory/*.csv').each do |f|  # you can replace the extension you're looking for.
     # the 'f' will give a string representing the path of each file
end

または:

Dir.foreach('/path_to_file_directory/') do |i|
  next if i == '.' or i == '..'
  # do something with each file
end 
于 2013-02-21T19:26:44.060 に答える