Ruby Dir.entries没有“看到”我的所有文件

时间:2011-03-04 22:46:01

标签: ruby

我有以下代码:

Dir.chdir(mydir)
Dir.entries(mydir).each do |file|
  log.info(file)
end

我的问题是Dir.entries似乎没有“看到”目录中最近创建的三个文件;也就是说,它们不会显示在日志中。我在Windows XP上使用Ruby 1.9.2。这些文件是在上述代码之前通过StatTransfer命令文件创建的:

# Run the stcmd file and wait for it to finish
threadC = Thread.new {system("ST \"myStatTransferProgram.stcmd\"")}
threadC.join

我不认为StatTransfer是问题,因为Dir.entries可以“看到”stcmd文件生成的前几个文件就好了。我尝试在两个步骤之间添加sleep(30),以防Thread.join没有按照我的想法行事,但这并没有什么不同。我是Ruby的新手,非常感谢任何建议 - 谢谢!

2 个答案:

答案 0 :(得分:0)

你有没有理由创建一个线程然后在直接运行system命令时加入它会产生完全相同的效果?

答案 1 :(得分:0)

我不完全确定发生了什么,但似乎问题与之前步骤中的File.rename有关,而不是我认为与之相关的步骤。我很抱歉让人们走上了错误的道路。如果有人想要更多信息,请告诉我。