我想将特定文件从一台机器复制到其他 5 台机器,所以我的服务器列表文件包含每台机器的 IP 地址,例如:
10.10.1.3
10.10.1.4
10.10.1.5
10.10.1.6
10.10.1.7
在我的批处理文件中:
SET File=C:\Files\servers.txt
SET User=user
SET Password=pass
IF EXIST b:\ (
NET USE b: /DELETE /Y
)
FOR /F %%A IN (%File%) DO (
START /WAIT NET USE b: \\%%A\C$\Temp /user:%User% %Password%
COPY C:\Logs\L1.log b:\L1.log /Y
IF EXIST b:\ (
NET USE b: /DELETE /Y
)
)
问题出在第一台服务器上,我收到错误消息系统找不到指定的驱动器,但对于其他服务器,一切正常。我认为这与NET USE有关,当然也许地图网络在完成复制之前就被删除了?
批处理文件中是否有任何方法可以循环一些服务器,并且为每个服务器打开地图网络复制文件等到复制完成并继续移动到下一个服务器?
编辑:
我有这个问题的更新:源机器和目标机器都在不同的域中。我在两台机器上都有一个用户定义为管理员。机器相互认识(我可以在源机器中打开目标文件夹,如 \server\C$\temp ,我可以在那里粘贴任何我想要的东西)
我尝试在不使用 net use 的情况下复制文件,只从 C:\file.log \server\c$\temp\file.log 复制每个服务器(我有 5 个)和 3 个可以工作的服务器,另外两个我有错误:登录失败:未知用户名或密码错误
FOR /F %%A IN (%File%) DO (
COPY C:\temp\file.log \\server\c$\temp\file.log /Y
)
可能是什么问题?
请帮忙?提前谢谢你。