[lnkForumImage]
TotalShareware - Download Free Software

Confronta i prezzi di migliaia di prodotti.
Asp Forum
 Home | Login | Register | Search 


 

Forums >

comp.lang.ruby

mtime - search directory for modified time

Mmcolli00 Mom

12/18/2008 3:21:00 PM

I am trying to extract an exact filename so that I can use mtime method.
It appears to be needing an exact filename and maybe I am getting other
artifacts when iterating through this directory. Would you know how to
fix? Please help me with this. Thanks. MC

require "fileutils"
require 'find'
require 'ftools'

Dir.entries("C:/New").each do |filename|
if File.extname(filename) == ".txt" then
filename.to_s
puts File.mtime(filename) #<--gets error 'No such file or directory'
ENOENT
puts File.mtime("C:/New/2343434.txt")#<--works by outputting modified
time
end
end
--
Posted via http://www.ruby-....

1 Answer

Stefan Lang

12/18/2008 8:18:00 PM

0

2008/12/18 Mmcolli00 Mom <mmc_collins@yahoo.com>:
> I am trying to extract an exact filename so that I can use mtime method.
> It appears to be needing an exact filename and maybe I am getting other
> artifacts when iterating through this directory. Would you know how to
> fix? Please help me with this. Thanks. MC
>
> require "fileutils"
> require 'find'
> require 'ftools'

You aren't using anything from the above three libraries,
so you can remove the requires.

> Dir.entries("C:/New").each do |filename|

filename is a plain filename without directory part.
That's why it's not found.

> if File.extname(filename) == ".txt" then
> filename.to_s
> puts File.mtime(filename) #<--gets error 'No such file or directory'
> ENOENT
> puts File.mtime("C:/New/2343434.txt")#<--works by outputting modified
> time
> end
> end

This would be a simpler way:

Dir["C:/New/*.txt"].each { |path|
puts File.mtime(path)
}

Stefan