0
私は、それぞれが異なる名前であるが同じディレクトリにある約100個のフォルダのコピーを作成するプログラムを作成しようとしています。ここで私が持っているコードは、これまでのところです:Ruby FileUtils.mkdirエラー
require 'fileutils'
filename = "C:/Users/drwat/Desktop/somefolder/accountusernames.txt"
times = IO.readlines(filename).size
counter = 0
password = "changethis"
originalFolder = "Release/."
while(counter < times)
begin
currentusername = IO.readlines(filename)[counter]
FileUtils.mkdir currentusername
FileUtils.cp_r(originalFolder, "#{currentusername}")
#Put username into auth.json file
data = File.read("auth.json")
filtered_data = data.gsub("aaaa", "#{currentusername}")
File.open("auth.json", "w") do |f|
f.write(filtered_data)
end
#Put password into auth.json file
data = File.read("auth.json")
filtered_data = data.gsub("bbbb", "#{password}")
File.open("auth.json", "w") do |f|
f.write(filtered_data)
end
FileUtils.cp "auth.json", "#{currentusername}/Config"
#Revert auth.json file back to A's and B's
data = File.read("auth.json")
filtered_data = data.gsub("#{currentusername}", "aaaa")
File.open("auth.json", "w") do |f|
f.write(filtered_data)
end
data = File.read("auth.json")
filtered_data = data.gsub("#{password}", bbbb)
File.open("auth.json", "w") do |f|
f.write(filtered_data)
end
counter += 1
end
end
私はプログラムを実行すると、私は取得エラー:
D:/Installed Programs/Ruby200-x64/lib/ruby/2.0.0/fileutils.rb:245:in `mkdir': Invalid argument - twitchypair1 (Errno::EINVAL)
from D:/Installed Programs/Ruby200-x64/lib/ruby/2.0.0/fileutils.rb:245:in `fu_mkdir'
from D:/Installed Programs/Ruby200-x64/lib/ruby/2.0.0/fileutils.rb:174:in `block in mkdir'
from D:/Installed Programs/Ruby200-x64/lib/ruby/2.0.0/fileutils.rb:173:in `each'
from D:/Installed Programs/Ruby200-x64/lib/ruby/2.0.0/fileutils.rb:173:in `mkdir'
from D:/somefolder/thiscode.rb:14:in `<main>'
私のコードまたはの私のインストールに問題がある場合、私は知りませんルビーか何か。 FileUtils.mkdir行を削除するなど、いくつかの方法で動作させてみましたが、それを得ることはできません。それだけで別のエラーが表示されます。どんな助けでも大歓迎です。私はRubyで一生懸命やったわけではありませんが、これとは別に使うのはとても簡単です。
また、 "#{currentusername}"とcurrentusernameは全く同じものを返しますか?
'#{x}'と 'x'は、*' x'が文字列値の場合、一般的には同等です。他の人にとっては、 'x.to_s'とおおむね同等です。 – tadman
特定の目的を持っていないため、中間に 'begin ... end'構造がある理由も明確ではありません。 – tadman
作成しようとしているディレクトリの名前のファイルがある可能性はありますか? – tadman