我需要使用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}")
提前致谢。
答案 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.txt
)Dir.glob
将返回nil类。
如果要列出所有目录,请使用:
Dir["**/"].each {|x| puts x}