Mtime - search directory for modified time

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

2008/12/18 Mmcolli00 Mom [email protected]:

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

This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.

| Privacy Policy | Terms of Service | Remote Ruby Jobs