Ruby从任务调度程序运行时不会识别目录。从Windows任务计划程序运行时,我遇到了与ruby类似的问题。Ruby在Windows任务调度程序中的行为不同
任何人都可以解释为什么从Windows任务计划程序运行时,红宝石表现为这种方式?
考虑我的桌面上的以下目录
(d)测试
----(d)一个
----(d)两个
----(d)三
----(F)dirs.rb
----(F)log.log
(d)=指南 (F)=文件
考虑下面的Ruby脚本。
require 'logger'
log = Logger.new("C:/Users/crosson.Z7NETWORKS/Desktop/test/log.log", 'daily')
log.level = Logger::INFO
Dir.new("C:/Users/crosson.Z7NETWORKS/Desktop/test").each do |file|
log.info "%7s a dir? %s" % [file, File.directory?(file)]
end
下面是从命令行运行时的日志结果。
I, [2011-08-30T12:50:47.700617 #5356] INFO -- : . a dir? true
I, [2011-08-30T12:50:47.700617 #5356] INFO -- : .. a dir? true
I, [2011-08-30T12:50:47.700617 #5356] INFO -- : dirs.rb a dir? false
I, [2011-08-30T12:50:47.700617 #5356] INFO -- : log.log a dir? false
I, [2011-08-30T12:50:47.700617 #5356] INFO -- : One a dir? true
I, [2011-08-30T12:50:47.700617 #5356] INFO -- : Three a dir? true
I, [2011-08-30T12:50:47.701617 #5356] INFO -- : Two a dir? true
下面是日志的结果从任务调度
I, [2011-08-30T13:03:07.187316 #5972] INFO -- : . a dir? true
I, [2011-08-30T13:03:07.188316 #5972] INFO -- : .. a dir? true
I, [2011-08-30T13:03:07.188316 #5972] INFO -- : dirs.rb a dir? false
I, [2011-08-30T13:03:07.188316 #5972] INFO -- : log.log a dir? false
I, [2011-08-30T13:03:07.188316 #5972] INFO -- : One a dir? false
I, [2011-08-30T13:03:07.188316 #5972] INFO -- : Three a dir? false
I, [2011-08-30T13:03:07.188316 #5972] INFO -- : Two a dir? false
发现我的目录,一,二和三是不再被视为目录中运行时。是什么赋予了?
我之前就这么做过。当我尝试抓取File.stat记录器时,不会记录任何内容。它就像File.stat方法被阻止在“。”以外的任何其他地方运行。和“..”。我试图添加'File.stat(file).mtime'。它基本上只是跳过处理除当前目录之外的所有内容“。”和上面的目录“..”。 – Beaon
我也刚刚尝试更改我的用户帐户的权限以批处理方式登录。问题仍然存在。 [链接](http://technet.microsoft.com/en-us/library/cc755659(WS.10).aspx) – Beaon