在Windows命令行中将文件复制到网络计算机

22

我正在尝试在Windows上创建一个脚本,当在管理员PC上运行时:

  1. 通过指定IP地址/范围将一个文件夹从管理员PC复制到一组网络PC中
  2. 对于每个目标PC,进入该文件夹并运行另一个脚本文件。

使用seanyboy在这里描述的方法:

net use \\{dest-machine}\{destfolder} {password} /user:{username}
copy {file} \\{dest-machine}\{destfolder}
我不确定如何编写一个“for”循环来遍历每个“dest-machine”并执行第二步。有什么想法将不胜感激。
4个回答

24

检查Robocopy:

ROBOCOPY \\server-source\c$\VMExports\ C:\VMExports\ /E /COPY:DAT

请确保您检查您需要的Robocopy参数。这仅是一个示例。 在Windows系统的命令行/PowerShell中键入robocopy /?


这就是我要找的! - Ikong
如何提供用户名和密码? - Mehdi Dehghani
NET USE \\RemoteServerName\IPC$ /u:server\user *password* robocopy \\Source\ \\RemoteServerName\DestinationDir\ /XD * /Z /MIR /LOG+:c:\temp\log.log NET USE \\RemoteServerName\IPC$ /D - Tilo

16

以下命令可在命令提示符中使用:

copy c:\folder\file.ext \\dest-machine\destfolder /Z /Y

复制所有文件:

copy c:\folder\*.* \\dest-machine\destfolder /Z /Y

1
这里的/Z /Y是什么意思? - Ashish Karpe
1
/Z - 在可重启模式下复制网络文件。 /L - 如果源是符号链接,则将链接复制到目标,而不是源链接指向的实际文件。 - Anvesh Yalamarthy
那么,/A 是什么意思? - Mike
这是一个过滤器,仅复制文本文件。 - Anvesh Yalamarthy
尝试输入 copy /?,您将获得有关所有开关的详细信息。 - DineshNS
1
COPY已经过时且不推荐使用。它被XCOPY所代替,后来又被ROBOCOPY所取代。请使用ROBOCOPY,例如上面的这个答案 - David Balažic

5
为什么要使用 for 循环?你想要迭代什么呢?试试这个。
call :cpy pc-name-1
call :cpy pc-name-2
...

:cpy
net use \\%1\{destfolder} {password} /user:{username}
copy {file} \\%1\{destfolder}
goto :EOF

2
关于第二步,查看psexec命令的手册(sysinternal工具)。

很好的建议。Sysinternals工具非常有用。 - mab0189

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接