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