我有以下代码:
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的新手,非常感谢任何建议 - 谢谢!
答案 0 :(得分:0)
你有没有理由创建一个线程然后在直接运行system
命令时加入它会产生完全相同的效果?
答案 1 :(得分:0)
我不完全确定发生了什么,但似乎问题与之前步骤中的File.rename有关,而不是我认为与之相关的步骤。我很抱歉让人们走上了错误的道路。如果有人想要更多信息,请告诉我。