`Dir.glob`的数组到字符串转换失败

时间:2016-03-01 17:10:15

标签: ruby

我需要使用Ruby搜索特定目录中的子文件夹。例如d:/ abc / xyz / * / file.txt。代替*我可以有任何东西。 我尝试过Dir.glob()但它返回的数组我无法转换成字符串。 有没有其他方法我可以做到这一点。 我必须将文件从另一个位置复制到此路径中。 当我在var中输出Dir.glob()并像这样使用时 系统("复制C:\ abc \ xyz#{var}")它不会复制。 任何人都可以建议我这样做的最好方法。

我的代码是

var = Dir.glob(" D:// backup // ffi // * // window").first

系统("复制D:\ backup \ automate-scripts#{var}")

提前致谢。

1 个答案:

答案 0 :(得分:1)

您应该使用:

temp_dir = //generate path for your dynamic directory_name

file_name = Dir.glob("d:/abc/xyz/#{temp_dir}/file.txt").first

.first将返回string中的第一个数组元素。如果没有任何具有给定名称的文件(file.txtDir.glob将返回nil类。

如果要列出所有目录,请使用:

Dir["**/"].each {|x| puts x}