Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl-Sensitive Sunglasses

Re: Copying a file across servers in DOS

by Kanji (Parson)
on Oct 19, 2010 at 02:07 UTC ( #866089=note: print w/replies, xml ) Need Help??

in reply to Copying a file across servers in DOS

You can run external commands in Perl with system(), exec() or backticks/qx():-

# Note escaped slashes! system("xcopy dos.bat \\\\machine.b\\share\\")

You might also find the Shell module useful, as it will allow you to use xcopy as if it were a Perl command:-

use Shell qw(xcopy); xcopy("dos.bat", "\\\\machine.b\\share\\");

However, Perl does support UNC-style paths (if your OS does), so you could use plain ol' open() or a more elaborate (robust?) wrapper like File::Copy:-

open LOCAL, "dos.bat" or die $!; open REMOTE, "//machine.b/share/dos.bat" or die $!; print REMOTE <LOCAL>; use File::Copy; copy("dos.bat", "//machine.b/share/dos.bat") or die $!;

(Note that the native Perl calls support the alternate use of forwardslashes, which will save you from excessive escaping of UNC paths.)


Log In?

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://866089]
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others meditating upon the Monastery: (6)
As of 2021-10-27 14:19 GMT
Find Nodes?
    Voting Booth?
    My first memorable Perl project was:

    Results (93 votes). Check out past polls.