2011-07-07 29 views
3

我可以把它以这种方式工作列表文件 - 一个命令只

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

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

  • 的目录BASEDIR

更新STAT 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}*") 

回答

4

我想这应该做你想要什么:

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

或者备选:

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

+0

在发布我的问题之前,我尝试了第一个。即使是第二个不起作用... – Radek

+1

嗯,它是否会失败,错误或只是不返回你期望的结果?你能发布一些周围的代码吗? –

+0

没有错误,只有空字符串。 – Radek

2

以前的工作目录恢复:

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

当执行该命令时'上一个工作目录被恢复'的注释非常重要!你能解释一下为什么在使用你的语法时需要restrored吗? – Radek