复制从一个目录复制到另一个文件中使用Ruby
嘿,我想从一个文件夹移动多个文件到另一个。在FileUtils行中,我试图搜索目标文件夹中的所有4个字符文件夹,然后将该文件粘贴到与文件具有相同基本名称的文件夹中。复制从一个目录复制到另一个文件中使用Ruby
#!/usr/bin/env ruby
require 'fileutils'
my_dir = Dir["C:/Documents and Settings/user/Desktop/originalfiles/*.doc"]
my_dir.each do |filename|
FileUtils.cp(filename, "C:/Documents and Settings/user/Desktop/destinationfolder/****/" + File.basename(filename, ".doc"))
end
这样的事情应该工作。
my_dir = Dir["C:/Documents and Settings/user/Desktop/originalfiles/*.doc"]
my_dir.each do |filename|
name = File.basename('filename', '.doc')[0,4]
dest_folder = "C:/Documents and Settings/user/Desktop/destinationfolder/#{name}/"
FileUtils.cp(filename, dest_folder)
end
你必须实际指定目标文件夹,我不认为你可以使用通配符。
你应该不使用任何字符的任何nymber变量名“DEST_FOLDER”,我复制了剧本不看它,它没有工作,因为我认为这应该是一个文件夹..难道是我的错,但..;) – 2014-05-14 15:32:12
*
是一个通配符,意思是“任意字符数”,所以“****
”是指“任何数量的任何数量的任何数量的任何数目的字符的”,这可能不是你的意思。
?
是“此位置中的任何字符”的正确符号,所以“????
”表示“仅包含四个字符的字符串”。
在壳图案匹配,实际上''****是指任何数目的任何字符,随后是任何数量的任意字符,随后的任何字符的任何nymber,随后的 – akostadinov 2017-08-16 09:28:18
@ KL-7,它被认为是不好的形式来修改别人的源代码。请使用注释来识别问题,例如您更改过的'#!'行。 – 2012-03-01 16:21:38
@theTinMan,我不认为这是一个坏主意,以帮助正确的代码缩进新用户。关于shebang,我认为这只是一个错字。 – 2012-03-01 16:26:27