根据特定目录中的模式列出文件 - 仅限一个命令

时间:2011-07-07 02:59:10

标签: ruby

我可以这样工作

Dir.chdir(basedir)
puts Dir.glob("#{filename}*").inspect

有没有办法只使用一个命令?我想列出

  • 所有带文件名
  • 的统计信息的文件
  • 目录 basedir

更新1

puts "#{csv_dir_name}\\#{testsuite}*"
puts Dir["#{csv_dir_name}\\#{testsuite}*"].inspect

retuns

C:\Program Files\TestPro\TestPro Automation Framework\Output Files\builds\basics\logs\basics\2011\07\07114100\login*
[]

另一方面,这段代码工作正常

Dir.chdir(csv_dir_name)
csv_file_name = Dir.glob("#{testsuite}*")

2 个答案:

答案 0 :(得分:5)

我认为这应该做你想要的:

puts Dir["#{basedir}/#{filename}*"]

或者:

puts Dir["#{File.join(basedir, filename)}*"]

答案 1 :(得分:2)

执行命令时恢复以前的工作目录:

Dir.chdir(basedir) { puts Dir.glob("#{filename}*").inspect }