Ruby 在每个子目录中创建一个文件

Ruby 在每个子目录中创建一个文件,ruby,file-io,Ruby,File Io,我想迭代一个目录中的每个子目录(不需要迭代得更深),并在每个子目录中创建一个文件 例如: C:\ -C:\folder1 -C:\folder2 -... 我希望在每个文件夹中都有一个文件: C:\ -C:\folder1\file1.txt -C:\folder2\file2.txt -... 我试过的代码是 require 'securerandom' array =[] IO.foreach('output.txt') { |line| array<<line }

我想迭代一个目录中的每个子目录(不需要迭代得更深),并在每个子目录中创建一个文件

例如:

C:\
-C:\folder1
-C:\folder2
-...
我希望在每个文件夹中都有一个文件:

C:\
-C:\folder1\file1.txt
-C:\folder2\file2.txt
-...
我试过的代码是

require 'securerandom'

array =[]

IO.foreach('output.txt') { |line|
  array<<line
}

array.each { |folder|
  randomName = SecureRandom.hex
  File.open("#{folder}\\#{randomName}.txt", 'wb+') do |f|
      buffer = ((SecureRandom.hex)*8).freeze
      randomNumber = (rand 1..9)
      randomNumber.kilobytes.times { f.write buffer }
  end
}
至于
SecureRandom.hex
,我只需要文件的内容和文件大小是随机的


再次感谢您的帮助

您可以将其用作模板:

i = 0
Dir['c:\*'].each do | subdir |
  next unless File.directory?(subdir)
  File.open("#{subdir}/file#{i}.txt", "w") { | io | io << 'foo' }
  i += 1
end
i=0
Dir['c:\*']。每个都做|子目录|
下一个文件。目录?(子目录)

File.open(“#{subdir}/File{i}.txt”,“w”){{io | io你的问题是什么?哇,我甚至不知道Dir[]存在;谢谢你的回答!这很好用。
i = 0
Dir['c:\*'].each do | subdir |
  next unless File.directory?(subdir)
  File.open("#{subdir}/file#{i}.txt", "w") { | io | io << 'foo' }
  i += 1
end