How can I copy a file from one Windows server to another in a script?

32,377

Solution 1

Personally, I'd do it by mapping a drive from one server to the other and then copying the file to the mapped drive. Something like:

net use F: <\\path\to\share> /user:Username password
xcopy <file> F:
net use F: /delete

You could use robocopy instead, if you've got some more serious mirroring to do. I usually finish up by using blat or something similar to send me an email with a directory listing of the backup target, just to be sure everything made it over.

Solution 2

copy/xcopy/robocopy and if you have the admin permissions, use the administrator shares like

\\server\c$

Solution 3

freeSSHd + PSCP/PSFTP

Share:
32,377

Related videos on Youtube

Tim
Author by

Tim

Updated on September 17, 2022

Comments

  • Tim
    Tim almost 2 years

    I have two Windows 2003 servers, and I want to write a backup script on one that will copy a file to the other. What's the most idiomatic way to do this on Windows? Essentially, I'm looking for the Windows equivalent of

    $ scp file.tar.gz user@host:/wherever
    

    In response to questions: At the moment I'm only thinking about one file, a database backup. Potentially I might end up with multiple files, but I'm not that interested in rsync-like systems that track which files have changed and back up accordingly.

    I'd like a solution that works with the servers on different networks, with firewalls in between. Opening up a single port on the firewall to a reasonably secure service ought not to be a problem.

    • cometbill
      cometbill over 14 years
      is it just one file you are copying ? Is it going to a backup folder, or a similar location on the other serve, ie mirroring the file or backing it up. Does it matter if the one on the other server is newer ?
    • Zoredache
      Zoredache over 14 years
      Are the computers on the same network in the same domain? Are there firewalls between them?
  • sdeland
    sdeland over 14 years
    No need to map a drive either. Just "net use \\machine\share /user:Username password" (you can omit the password if it's the same as the local user), then xcopy (or robocopy), then "net use \\machine\share /delete"
  • streetlight
    streetlight over 14 years
    Aha, and "use linux" :))