【问题标题】:Moving files into new created directory via `gets.chomp`通过 `gets.chomp` 将文件移动到新创建的目录中
【发布时间】:2015-10-14 14:13:24
【问题描述】:

该程序的目的是将图像从 SD 卡复制到来自gets.chomp 的问题的新文件夹中。我找不到从名为new_batchgets.chomp 变量创建新目录的方法。你能告诉我我做错了什么吗?

Dir.chdir '/home/moot/pickaxe/pics'

pic_names = Dir['/media/moot/**/*.{CR2,cr2,JPG,jpg}']
puts nil
puts "What would you like to call this batch? e.g Subject_Location"
puts nil
batch_name = gets.chomp

require 'fileutils'
FileUtils::mkdir_p "#{batch_name}" 
Dir.chdir '/home/moot/pickaxe/pics/#{batch_name}'

puts nil
print "Downloading #{pic_names.length} Files: "

pic_number = 1

pic_names.each do |name|
  print 'ˁ˚ᴥ˚ˀ  ' 

  new_name = if pic_number < 10
    "#{batch_name} 0#{pic_number}_#{Time.now} .CR2"
  else
    "#{batch_name} #{pic_number}_#{Time.now} .CR2"
  end

  require 'fileutils'
  include FileUtils
  cp(name, new_name)  

  pic_number = pic_number + 1
end
puts nil
puts "Move Complete."

【问题讨论】:

  • 你能把你的代码放在代码标签中吗?不是那样可读的。在您的 mkdir 中,您最好将路径也放在创建文件夹的位置,然后不需要 chdir
  • 你试过FileUtils::mkdir_p "/home/moot/pickaxe/pics/#{batch_name}"创建吗?
  • 感谢 Yevgeniy,成功了。

标签: ruby mkdir


【解决方案1】:

为什么不干脆这样?

Dir.mkdir("#{batch_name}")

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-07-02
    • 2014-02-02
    • 1970-01-01
    • 2018-04-07
    • 2018-12-30
    • 1970-01-01
    相关资源
    最近更新 更多