Beefy Boxes and Bandwidth Generously Provided by pair Networks
Keep It Simple, Stupid
 
PerlMonks  

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.)

    --k.



Comment on Re: Copying a file across servers in DOS
Select or Download Code

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others musing on the Monastery: (3)
As of 2014-07-26 02:18 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    My favorite superfluous repetitious redundant duplicative phrase is:









    Results (175 votes), past polls