Solved (mostly), thanks to:

Nicholas Evans, who suggested that Windows may not accept a date of 0
(the first param sets access time).  It doesn't.  I knew that.  Bad
brain.  Thanks for asking an "is it plugged in" type of question.

Daniel Berger, for reminding me that "require 'x' -> false" doesn't
mean "we can't find 'x'" - it just means that it is ALREADY required.
I knew that too.  Funny how, in this context, I easily accepted an
incorrect translation of the results, because it was corroborating
evidence - exactly what I was looking for.  And thanks for another "is
it plugged in?" question.  Yes, D: drive is a hard drive.  :)

Why "mostly"?  This code is derived from a battery of tests for a
project in a User Group.  These tests pass for another Windows user.
We will investigate next meeting.

Thanks to all,
Matt

On 6/6/07, Daniel Berger <djberg96 / gmail.com> wrote:
> On Jun 5, 11:55 am, "Matt Scilipoti" <mattscilip... / possiamo.com>
> wrote:
> > I am receiving an "Invalid argument" error from File.utime.
> >
> > irb> testfile = 'd:/temp/2007/06/test.txt'
> > => "d:/temp/2007/06/test.txt"
> > irb> File.utime(0, Time.now, testfile)
> > Errno::EINVAL: Invalid argument - d:/temp/2007/06/test.txt
> >         from (irb):4:in `utime'
> >         from (irb):4
> > irb> File.exist?(testfile)
> > => true
> > irb> File.writable?(testfile)
> > => true
>
> Is D: a hard disk? Or is it a CDROM, usb drive, etc? Hey, gotta ask.
>
> > My local user group suggested:
> > irb> require 'time'
> > => false
> >
> > False?
>
> Unrelated. It means it was already loaded, probably by rubygems. An
> actual failure would raise an error.
>
> Regards,
>
> Dan
>
>
>