Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby 通过`gets.chomp将文件移动到新创建的目录中`_Ruby_Mkdir - Fatal编程技术网

Ruby 通过`gets.chomp将文件移动到新创建的目录中`

Ruby 通过`gets.chomp将文件移动到新创建的目录中`,ruby,mkdir,Ruby,Mkdir,该程序的目的是通过gets.chomp将SD卡上的图像从问题复制到新文件夹中。我找不到从名为new\u batch的gets.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_L

该程序的目的是通过
gets.chomp
将SD卡上的图像从问题复制到新文件夹中。我找不到从名为
new\u batch
gets.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."
Dir.chdir'/home/moot/picaxe/pics'
pic_names=Dir['/media/moot/***.{CR2,CR2,JPG,JPG}']
等于零
放置“您希望将此批次称为什么?例如主题位置”
等于零
batch\u name=gets.chomp
需要“fileutils”
FileUtils::mkdir_p“#{batch_name}”
Dir.chdir'/home/moot/pickaxe/pics/#{batch_name}
等于零
打印“下载#{picu names.length}文件:”
图片编号=1
pic|u name.每个do|name|
打印“ˁ˚”ᴥ˚ˀ  ' 
新名称=如果图片编号<10
“#{batch_name}0#{pic_number}#{Time.now}.CR2”
其他的
“#{batch_name}#{pic_number}#{Time.now}.CR2”
结束
需要“fileutils”
包含FileUtils
cp(名称,新名称)
图片编号=图片编号+1
结束
等于零
将“移动完成”

为什么我们不简单地做这样的事情呢

Dir.mkdir("#{batch_name}")

你能把你的代码放在代码标签里吗?不是那样可读的。在mkdir中,您最好将创建文件夹的路径也放在其中,chdir是不必要的,那么您是否尝试过通过
FileUtils::mkdir\u p”/home/moot/pickaxe/pics/{batch\u name}“
创建它?谢谢,是的,成功了。