Beefy Boxes and Bandwidth Generously Provided by pair Networks
P is for Practical

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
Node Status?
node history
Node Type: note [id://866089]
and all is quiet...

How do I use this? | Other CB clients
Other Users?
Others scrutinizing the Monastery: (6)
As of 2018-06-18 14:40 GMT
Find Nodes?
    Voting Booth?
    Should cpanminus be part of the standard Perl release?

    Results (110 votes). Check out past polls.