Forum: Ruby Copying Windows system files

Announcement (2017-05-07): www.ruby-forum.com is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see rubyonrails.org/community and ruby-lang.org/en/community for other Rails- und Ruby-related community platforms.
Cf25fbf53c67e27d95845e77e949b56f?d=identicon&s=25 Stuart Clarke (sclarke)
on 2009-04-08 16:15
Hi all,

Does anyone know how to copy Windows system files? I have a script which
looks for certain files and writes a log with the path of the file found
and copies the file found to a folder.

This works fine for all files I am interested in except the index.dat
file. My script finds the file and writes it to a log but doesn't
actually copy the file. Does any one know how I can copy an index.dat
file? The relevant code:

  def copyFile(file)
    myLog = File.new('\\Test\\SweeperLog.txt', 'a')
    myLog.puts file
    File.copy(file, '\\Test')
  end

Many thanks
90ebe8da17aabd36cc30d9f96a530e6f?d=identicon&s=25 James Herdman (biocsnerd)
on 2009-04-08 16:37
(Received via mailing list)
Hi Stuart.

Two thoughts:

1) Maybe you don't have access to the file?

2) Instead of opening the file, reading it, and then copying it else
where,
why not look into using FileUtils.cp? It would be a little more direct.
It
also may end up being the key if you do, in fact, have access to the
file.

James

On Wed, Apr 8, 2009 at 10:15 AM, Stuart Clarke
Cf25fbf53c67e27d95845e77e949b56f?d=identicon&s=25 Stuart Clarke (sclarke)
on 2009-04-08 20:21
I am thinking, its being caused me copying lots of files with the same
name (index.dat) and only the last copied file is present in my
destination folder, which is infact corrupt.

How would I assign a new name to a file if one already exists, for
example I am thinking

if File.exist(Index.dat)
  File.copy(file[x], '\\Test')
else
  File.copy(file, '\\Test')

Basically I am trying to say, if you find an index.dat file in the
destination folder copy the next index.dat file but give it a squential
number

index[1].dat
index[2].dat

Does that make sense?

thanks a lot



James Herdman wrote:
> Hi Stuart.
>
> Two thoughts:
>
> 1) Maybe you don't have access to the file?
>
> 2) Instead of opening the file, reading it, and then copying it else
> where,
> why not look into using FileUtils.cp? It would be a little more direct.
> It
> also may end up being the key if you do, in fact, have access to the
> file.
>
> James
>
> On Wed, Apr 8, 2009 at 10:15 AM, Stuart Clarke
This topic is locked and can not be replied to.