Is there a Windows command line tool to copy files to remote computers?
I'm looking for a way to copy files over to/from remote Windows hosts, and need to provide domain user credentials as part of the process, similar to the way psexec
does.
I know I can use net use
to map the target directory to a drive letter and use xcopy
, and I know psexec
can upload files to be executed on the remote machine and then delete them, but I'm looking for a way to distribute files to remote hosts that will not be as awkward to use as net use
and xcopy
.
Solution 1:
XCopy supports UNC paths.
C:\>xcopy \\computer1\source\*.* \\Computer2\target
C:\>xcopy \\computer1\source\FakeFileNAme.txt C:\
I would imagine with the use of RunAs you should be able to feed it whichever credentials you'd like.
HTH
Solution 2:
You can use robocopy. just open a command window and type robocopy /?
to see available options.
Solution 3:
Not exactly a "small utility", but the pywin32 package of Python for Windows has win32net
and win32wnet
modules that could be helpful with scripting credentials and such.
Solution 4:
Since this question and answers, Powershell now supports remote copy.
See the documentation for Copy-Item
You may also need to Enable PSRemoting (depending on your target machine)
Example 5: Copy a file to a remote computer
$Session = New-PSSession -ComputerName "Server01" -Credential "Contoso\PattiFul" Copy-Item "D:\Folder001\test.log" -Destination "C:\Folder001_Copy\" -ToSession $Session